Revenge of the Savage Planet Wiki revengeofthesavageplanet_en https://revengeofthesavageplanet.wiki.gg/ MediaWiki 1.43.1 first-letter Media Special Talk User User talk Meta Meta talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Module Module talk Main Page 0 1 1 2025-05-10T19:27:02Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Revenge of the Savage Planet Wiki]] 264faec92a5ff0ac48e8d001248dbe7a4b31a964 2 1 2025-05-10T19:27:02Z ARTIFICER 564804 Protected "[[Main Page]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki #redirect [[Revenge of the Savage Planet Wiki]] 264faec92a5ff0ac48e8d001248dbe7a4b31a964 Revenge of the Savage Planet Wiki 0 2 3 2025-05-10T19:27:03Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <!-- Hello and welcome to wiki.gg! This page is built via our IMProved Main Page (IMP) framework. If you are familiar with CSS grid areas, that's what you're defining here! But if you don't know any CSS that's ok! 👀 RULE 1: the same keyword represents the same section & can span multiple cells 👀 RULE 2: Each box in each layout must be a CONTIGUOUS RECTANGLE of any dimensions (most likely one of: 1x1, 1x2, 2x1, 2x2, 1x3, 3x1, 3x2, 2x3) 👀 RULE 3: This page defines LAYOUT ONLY. To edit the content, please use the links provided for you after saving/previewing your page. 👀 RULE 4: If you want to RENAME or ADD a box, (1) add a new section to the grid layout below (all three breakpoints!) and then (2) save or preview this page and then (3) click "Create this box" -->{{Main page |desktop= <!-- for WIDE SCREENS --> <!-- 👀 keep this at 3 columns, but you can otherwise rearrange as desired --> welcome welcome welcome about pages pages contribute contribute external <!-- end WIDE SCREEN layout --> |tablet= <!-- for TABLET SCREENS --> <!-- 👀 keep this at 2 columns, but you can otherwise rearrange as desired --> welcome welcome about pages contribute external <!-- end TABLET SCREEN layout --> |mobile= <!-- for MOBILE DEVICES --> <!-- 👀 keep this at 1 column, but you can otherwise rearrange as desired --> welcome about pages external contribute <!-- end MOBILE DEVICE layout --> }} {{#description2:Welcome to the {{SITENAME}}, a collaborative wiki resource that is open for anyone to edit!}} <!-- this is a short description of your wiki, which will appear in embeds in Google search results, Discord links, etc. --> c5d4351377806d884e84bc34774f85fd4a425e0a 4 3 2025-05-10T19:27:03Z ARTIFICER 564804 Protected "[[Revenge of the Savage Planet Wiki]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <!-- Hello and welcome to wiki.gg! This page is built via our IMProved Main Page (IMP) framework. If you are familiar with CSS grid areas, that's what you're defining here! But if you don't know any CSS that's ok! 👀 RULE 1: the same keyword represents the same section & can span multiple cells 👀 RULE 2: Each box in each layout must be a CONTIGUOUS RECTANGLE of any dimensions (most likely one of: 1x1, 1x2, 2x1, 2x2, 1x3, 3x1, 3x2, 2x3) 👀 RULE 3: This page defines LAYOUT ONLY. To edit the content, please use the links provided for you after saving/previewing your page. 👀 RULE 4: If you want to RENAME or ADD a box, (1) add a new section to the grid layout below (all three breakpoints!) and then (2) save or preview this page and then (3) click "Create this box" -->{{Main page |desktop= <!-- for WIDE SCREENS --> <!-- 👀 keep this at 3 columns, but you can otherwise rearrange as desired --> welcome welcome welcome about pages pages contribute contribute external <!-- end WIDE SCREEN layout --> |tablet= <!-- for TABLET SCREENS --> <!-- 👀 keep this at 2 columns, but you can otherwise rearrange as desired --> welcome welcome about pages contribute external <!-- end TABLET SCREEN layout --> |mobile= <!-- for MOBILE DEVICES --> <!-- 👀 keep this at 1 column, but you can otherwise rearrange as desired --> welcome about pages external contribute <!-- end MOBILE DEVICE layout --> }} {{#description2:Welcome to the {{SITENAME}}, a collaborative wiki resource that is open for anyone to edit!}} <!-- this is a short description of your wiki, which will appear in embeds in Google search results, Discord links, etc. --> c5d4351377806d884e84bc34774f85fd4a425e0a Example character 0 3 5 2025-05-10T19:27:03Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Example character infobox |title=Dragon |image=Example character image.png |Region=Shurima |Element=Fire |Attack=51 |HP=85 |Armor=34 |Attack Speed=78 }} Please note, this is NOT content related to {{SITENAME}}. It is an example page for the demonstration of [[support:DRUID infoboxes|DRUID infoboxes]]. Please delete this page at your earliest convenience! To edit how the infobox works, please see {{tl|Example character infobox}}. == About == The '''Example Character''' is a very cool character found in the Default Loadout Wiki. It is a dragon that can camouflage itself as a flower due to inventive and scientific reasons, and not because the artist is bad at drawing dragons. == Combat == The Example Character has several attacks, including: * Disguise Self As Flower * Flame Breath * Sneak Attack * Fireball * Dawizard == Dragon Riding == If the player tames the Example Character, they can perform several Dragon Riding stunts. See [[Dragon Riding]] for more information. == Levels == Example Character can be found in the following levels: * [[Introduction]] * [[Level 1]] * [[Level 3]] * [[Level 5]] * [[Bonus Content 6]] [[Category:Characters]] 5feed3ead005cb5ca4b2ecf1f3745925d2b8b41d Revenge of the Savage Planet Wiki/welcome 0 4 6 2025-05-10T19:27:04Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Main page box/start | title = Welcome to the {{SITENAME}}! }} We are currently maintaining [[Special:AllPages|{{NUMBEROFARTICLES}} articles]]. Please feel free to contribute by creating new articles or expanding existing ones. {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 96df981ef23fca9434d1586228cab8a51e0fdc0a 7 6 2025-05-10T19:27:04Z ARTIFICER 564804 Protected "[[Revenge of the Savage Planet Wiki/welcome]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki {{Main page box/start | title = Welcome to the {{SITENAME}}! }} We are currently maintaining [[Special:AllPages|{{NUMBEROFARTICLES}} articles]]. Please feel free to contribute by creating new articles or expanding existing ones. {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 96df981ef23fca9434d1586228cab8a51e0fdc0a Revenge of the Savage Planet Wiki/pages 0 5 8 2025-05-10T19:27:05Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-2"> * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Random page|link=Special:Random}} * {{MP link|Example character|link=Example character|image=Example_character_image.png|size=92px}} * {{MP link|Example character infobox|link=Template:Example character infobox|image=Example_character_image.png|size=92px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 827f14b4cd3d346ca427f95e9574fc23c4874206 9 8 2025-05-10T19:27:05Z ARTIFICER 564804 Protected "[[Revenge of the Savage Planet Wiki/pages]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-2"> * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Random page|link=Special:Random}} * {{MP link|Example character|link=Example character|image=Example_character_image.png|size=92px}} * {{MP link|Example character infobox|link=Template:Example character infobox|image=Example_character_image.png|size=92px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 827f14b4cd3d346ca427f95e9574fc23c4874206 Revenge of the Savage Planet Wiki/about 0 6 10 2025-05-10T19:27:06Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Main page box/start | title = About Revenge of the Savage Planet }} This is an example main page. You can redesign it however you want, or you can keep the layout the same but change the contents (e.g. this part should talk about your game). Take a look at some other wiki.gg wikis for inspiration! <div style="text-align:right">[[Revenge of the Savage Planet|Read more...]]</div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 7b3d9993a214f692ae5a65487f6aeda68b9805d0 11 10 2025-05-10T19:27:06Z ARTIFICER 564804 Protected "[[Revenge of the Savage Planet Wiki/about]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki {{Main page box/start | title = About Revenge of the Savage Planet }} This is an example main page. You can redesign it however you want, or you can keep the layout the same but change the contents (e.g. this part should talk about your game). Take a look at some other wiki.gg wikis for inspiration! <div style="text-align:right">[[Revenge of the Savage Planet|Read more...]]</div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 7b3d9993a214f692ae5a65487f6aeda68b9805d0 Revenge of the Savage Planet Wiki/contribute 0 7 12 2025-05-10T19:27:07Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Main page box/start | title = Contribute to the wiki }} {{SITENAME}} is a collaborative wiki resource that is open for anyone to edit. You don't need special permission beyond [[Special:UserLogin/signup|registering]] an account to edit most pages, and your contributions can grow the wiki and help other players. ; Adding content :* If you are unsure of what to do or how to create a page, search for a few articles on the same topic and see what they look like. You can always view the source code in a wiki and learn from what others have done. :* An edit doesn't have to be massive; if you feel you don't want to create whole articles, then just fixing spelling errors and broken links is enough. :* [[Special:UserLogin/signup|Register]] to edit and track your contributions. {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 8b79debc73480ec2b12cb5e39723b94532fd44bd 13 12 2025-05-10T19:27:07Z ARTIFICER 564804 Protected "[[Revenge of the Savage Planet Wiki/contribute]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki {{Main page box/start | title = Contribute to the wiki }} {{SITENAME}} is a collaborative wiki resource that is open for anyone to edit. You don't need special permission beyond [[Special:UserLogin/signup|registering]] an account to edit most pages, and your contributions can grow the wiki and help other players. ; Adding content :* If you are unsure of what to do or how to create a page, search for a few articles on the same topic and see what they look like. You can always view the source code in a wiki and learn from what others have done. :* An edit doesn't have to be massive; if you feel you don't want to create whole articles, then just fixing spelling errors and broken links is enough. :* [[Special:UserLogin/signup|Register]] to edit and track your contributions. {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 8b79debc73480ec2b12cb5e39723b94532fd44bd Revenge of the Savage Planet Wiki/external 0 8 14 2025-05-10T19:27:07Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Main page box/start | title = External links }} <div class="mp-links columns-2"> * {{MP link|Official site|link=https://wiki.gg}} * {{MP link|Discord|link=https://discord.gg/rTnST57tuW|image=Discord.svg|size=64x64px}} * {{MP link|Bluesky|link=https://bsky.app/profile/wiki.gg|image=Bluesky.svg|size=64x64px}} * {{MP link|indie.io|link=https://www.indie.io/|image=indie.io.svg|size=64x64px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> bb8190c57bb4cc147764d1c10f218fe4d34e0a49 15 14 2025-05-10T19:27:08Z ARTIFICER 564804 Protected "[[Revenge of the Savage Planet Wiki/external]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki {{Main page box/start | title = External links }} <div class="mp-links columns-2"> * {{MP link|Official site|link=https://wiki.gg}} * {{MP link|Discord|link=https://discord.gg/rTnST57tuW|image=Discord.svg|size=64x64px}} * {{MP link|Bluesky|link=https://bsky.app/profile/wiki.gg|image=Bluesky.svg|size=64x64px}} * {{MP link|indie.io|link=https://www.indie.io/|image=indie.io.svg|size=64x64px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> bb8190c57bb4cc147764d1c10f218fe4d34e0a49 Meta:Copyrights 4 9 16 2025-05-10T19:27:08Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <!--''[[GAME]]'' content and materials are the intellectual property of their respective owners. -->Content that you make available on {{SITENAME}} is licensed by you to us under our [{{int:wikigg-tos-url}} Terms of Service]. Do not make content available on {{SITENAME}} where you do not have the necessary rights to grant this license. All textual and graphical content on {{SITENAME}} that we may lawfully license is licensed to you under the [https://creativecommons.org/licenses/by-sa/4.0 Creative Commons Attribution-ShareAlike 4.0] license. [[Category:Legal notices]] a5c705cf276359aef94d426ee75d18bbf1e361ac 17 16 2025-05-10T19:27:09Z ARTIFICER 564804 Protected "[[Meta:Copyrights]]" ([Edit=Allow only administrators] (indefinite)) wikitext text/x-wiki <!--''[[GAME]]'' content and materials are the intellectual property of their respective owners. -->Content that you make available on {{SITENAME}} is licensed by you to us under our [{{int:wikigg-tos-url}} Terms of Service]. Do not make content available on {{SITENAME}} where you do not have the necessary rights to grant this license. All textual and graphical content on {{SITENAME}} that we may lawfully license is licensed to you under the [https://creativecommons.org/licenses/by-sa/4.0 Creative Commons Attribution-ShareAlike 4.0] license. [[Category:Legal notices]] a5c705cf276359aef94d426ee75d18bbf1e361ac Module:Infobox 828 10 18 2025-05-10T19:27:09Z ARTIFICER 564804 Importing default loadout Scribunto text/plain -- version 0.1.7 -------------------------------------- -- User settings, you can modify these -------------------------------------- -- if you want to not always use divs in your wiki (as opposed to tables), you can change this default -- just remember to change it back each time you update from the main "branch" on the support wiki! -- you can also control it per infobox with `|useDivs=yes` or `|useDivs=no` local USE_DIVS = true -- `false` or `true` -- default value to show if a param is missing in some but not all tabs. -- set to `nil` (not in quotes) to remove such rows altogether in the tabs where they're missing local TABBED_NONEXIST = nil -- `''` or `nil` or `'N/A'` etc. Don't put nil in quotes. --------------------------------------------------------------------------- -- Do not modify anything below this line unless you know what you're doing --------------------------------------------------------------------------- local h = {} local p = {} local hooks = {} function p.arraymap(frame) -- a lua implementation of Page Forms' arraymap local args = h.overwrite() local items = h.split(args[1], args[2] or ',') for i, item in ipairs(items) do items[i] = args[4]:gsub(args[3], item) end return table.concat(items, args[5] or ',') end function p.preprocess(frame) return frame:preprocess(frame.args[1] or frame:getParent().args[1]) end function p.main(frame) h.registerHooks() h.increment() local args = h.overwrite() local sep = args.sep or ',' h.castArgs(args, sep) if h.castBool(args.setmainimage or 'yes') then h.setMainImage(args.images[1]) end -- suggest to use HIDDENCAT here; will be used for maintenance & gadget imports return h.makeInfobox(args, sep), '[[Category:Pages with DRUID infoboxes]]' end function h.registerHooks() if not mw.title.new('Module:Infobox/Hooks').exists then return end hooks = require('Module:Infobox/Hooks') end function h.runHook(key, ...) if hooks[key] then hooks[key](...) end end function h.increment() -- optional use of VariablesLua for better compatibility local VariablesLua = mw.ext.VariablesLua if VariablesLua == nil then local res -- try to fall back to normal Variables res, h.counter = pcall( function() return mw.getCurrentFrame():callParserFunction('#var', {'DRUID_INFOBOX_ID', 0}) + 1 end ) if res then mw.getCurrentFrame():callParserFunction('#vardefine', {'DRUID_INFOBOX_ID', h.counter}) else -- else use a random number so at least there's some unique id h.counter = math.random(100000000000000000) -- random integer end else h.counter = VariablesLua.var('DRUID_INFOBOX_ID', 0) + 1 VariablesLua.vardefine('DRUID_INFOBOX_ID', h.counter) end end function h.castArgs(args, sep) h.runHook('onCastArgsStart', args, sep, args.kind) args.tabs = h.split(args.tabs or args.image_labels, sep) args.images = h.getImages(args, sep) args.sections = h.split(args.sections, sep) for _, section in ipairs(args.sections) do if h.castBool(args[section .. '_isdata']) then args[section .. 'Data'] = args[section] args[section] = section .. 'Data' args[section .. 'Data_nolabel'] = 'true' -- will be cast later end args[section] = h.split(args[section], sep) args[section .. '_tabs'] = h.split(args[section .. '_tabs'], sep) if #args.tabs > 0 and #args[section .. '_tabs'] > 0 then error(('You cannot specify |tabs= and |%s= at the same time, please pick one'):format(section .. '_tabs')) end end if args.useDivs then USE_DIVS = h.castBool(args.useDivs) end -- this would be in the outer scope, but we're hiding it h.entityType = USE_DIVS and 'div' or 'table' -- key of h.htmlEntities h.runHook('onCastArgsEnd', args, sep, args.kind) end function h.getImages(args, sep) if args.image and not args.images then args.images = args.image end if args.images then return h.split(args.images, sep) end if not args.tabs then return {} end local ret = {} for _, key in ipairs(args.tabs) do if args[key .. '_image'] then ret[#ret+1] = args[key .. '_image'] end end return ret end function h.setMainImage(file) if h.counter > 1 then return end if not file then return end local fileText = file:gsub('.-:', '') fileText = fileText:gsub('^([^|%]]+).*', '%1') -- setmainimage is guaranteed to exist on wiki.gg but may not exist on other wikis -- it's not a crucial piece of functionality so we'll fail silently if it doesn't exist pcall(function() mw.getCurrentFrame():callParserFunction{ name = '#setmainimage', args = { fileText }, } end) end function h.makeInfobox(args, sep) local out = mw.html.create(h.getTag('container')) :addClass('druid-infobox') :addClass('druid-container') :addClass('noexcerpt') :addClass(args.class) -- warning: class can be nil, don't concat anything :attr('id', args.id or ('druid-container-' .. h.counter)) h.runHook('onMakeOutputStart', out, args) if args.kind then out:addClass('druid-container-' .. h.escape(args.kind)) end h.printTitle(out, args) h.printImages(out, args.images, args) for _, section in ipairs(args.sections) do -- cannot begin tagging here because we don't know if any applicable args are present local cols = args[section .. '_columns'] local makeSection = cols and h.makeGridSection or h.makeSection out:node(makeSection(section, args[section], args, tonumber(cols))) end h.runHook('onMakeOutputEnd', out, args) -- category for gadget loading return out, '[[Category:Pages with DRUID infoboxes]]' end function h.printTitle(out, args) local tabs = args.tabs if not tabs or #tabs == 0 then h.printSimpleTitle(out, args) return end if not h.hasComplexData('title', tabs, args) then h.printSimpleTitle(out, args) return end local node = h.printTitleWrapper(out) h.printTabbedDataItem(node, 'title', tabs, args) end function h.printSimpleTitle(out, args) if args.title then local node = h.printTitleWrapper(out) node:wikitext(args.title) end end function h.printTitleWrapper(out) return out:tag(h.getTag('titleOuter')) :tag(h.getTag('titleInner')) :addClass('druid-title') :attr('colspan', 2) end function h.printTabbedDataItem(node, item, tabs, args) -- hasData isn't used in the title case but we will need to track this -- when we're printing section data later on -- so we'll just track it always local hasData = false for i, label in ipairs(tabs) do local div = node:tag('div') :addClass('druid-toggleable-data') :addClass('druid-toggleable') :attr('data-druid', h.counter .. '-' .. i) :attr('data-druid-tab-key', label) if h.getTabbedContent(args, label, item) then hasData = true div:wikitext('\n\n' .. h.getTabbedContent(args, label, item)) div:addClass('druid-toggleable-data-nonempty') else div:addClass('druid-toggleable-data-empty') end if i == 1 then div:addClass('focused') end end return hasData end function h.printImages(out, images, args) if #images == 0 and #args.tabs == 0 then return end -- burden is on the user to format this as an image. this should be done in the infobox template, -- with something like |image={{#if:{{{image|}}}|[[File:{{{image|}}}{{!}}300px{{!}}link=]]}} local td = out:tag(h.getTag('section')) :addClass('druid-section-container') :tag(h.getTag('cell')) :attr('colspan', 2) local tabs = args.tabs local tabTexts = h.getImageTabTexts(tabs, images, args) h.printTabs(td, tabs, tabTexts, false, args) if #images == 0 then return end if #images == 1 then td:addClass('druid-main-image') :wikitext(images[1]) if args.caption then td:tag('div') :addClass('druid-main-image-caption') :wikitext(args.caption) end return end td:addClass('druid-main-images') local imagesContainer = td:tag('div') :addClass('druid-main-images-files') for i, image in ipairs(images) do local container = imagesContainer:tag('div') :addClass('druid-main-images-file') :addClass('druid-toggleable') :attr('data-druid', h.counter .. '-' .. i) :wikitext(image) :attr('data-druid-tab-key', tabs[i]) local labelText if tabs[i] then labelText = args[tabs[i] .. '_label'] or tabs[i] else labelText = '[[Category:Infoboxes missing image labels]]Image ' .. i end if args[labelText .. '_caption'] then container:tag('div') :addClass('druid-main-images-caption') :wikitext(args[labelText .. '_caption']) end if i == 1 then container:addClass('focused') end end end function h.getImageTabTexts(tabs, images, args) if #tabs == 0 and #images <= 1 then return {} end local texts = {} local i = 1 while images[i] or tabs[i] do if tabs[i] then texts[i] = args[tabs[i] .. '_label'] or tabs[i] else texts[i] = '[[Category:Infoboxes missing image labels]]Image ' .. i end i = i + 1 end return texts end function h.printTabs(td, tabs, texts, isSection, args) if #texts == 0 then return end local container = td:tag('div') :addClass('druid-main-images-labels') :addClass('druid-tabs') if isSection then container:addClass('druid-section-tabs') end for i, item in ipairs(tabs) do local label = container:tag('div') :addClass('druid-main-images-label') :addClass('druid-tab') :addClass('druid-toggleable') :attr('data-druid', h.counter .. '-' .. i) :wikitext(texts[i]) :attr('data-druid-tab-key', item) if isSection then label:addClass('druid-section-tab') else label:addClass('druid-title-tab') end if i == 1 then label:addClass('focused') end -- this can be null, don't concat anything here label:addClass(args[item .. '_class']) end end function h.makeGridSection(section, sectionFields, args, numCols) local numItems = h.countItems(sectionFields, section, args) if numItems == 0 then return end local node = mw.html.create(h.getTag('section')) :addClass('druid-section-container') h.printSectionHeader(node, section, args) h.printSectionTabs(node, section, args) local tr = node:tag(h.getTag('row')) :attr('data-druid-section-row', h.escape(section)) if args[section .. '_collapsed'] then tr:addClass('druid-collapsed') end local grid = tr:tag(h.getTag('cell')) :attr('colspan', 2) :addClass('druid-grid-section') :addClass('druid-grid-section-' .. h.escape(section)) :addClass(args[section .. '_class']) -- warning: class can be nil, don't concat anything :tag('div') :addClass('druid-grid') local row, col, i = 1, 1, 1 local sizeOfLastRow = numItems % numCols local lcm = h.getNumGridCols(numItems, sizeOfLastRow, numCols) grid:css('grid-template-columns', ('repeat(%s, 1fr)'):format(lcm)) local size = lcm / numCols for _, item in ipairs(sectionFields) do local node = mw.html.create('div') local shouldPrint = h.printData(node, item, section, args) if shouldPrint then if i == numItems - sizeOfLastRow + 1 then size = lcm / sizeOfLastRow end i = i + 1 local gStart = (col - 1) * size + 1 local gEnd = (col) * size + 1 local itemContainer = grid:tag('div') :addClass('druid-grid-item') :addClass('druid-grid-item-' .. h.escape(item)) :addClass(args[item .. '_class']) -- warning: class can be nil, don't concat anything :css('grid-column', ('%s / %s'):format(gStart, gEnd)) :css('grid-row', row) if not h.castBool(args[item .. '_nolabel']) then h.printLabel(itemContainer:tag('div'), item, args) end itemContainer:node(node) if col == numCols then row = row + 1 col = 1 else col = col + 1 end end end return node end function h.makeSection(section, sectionFields, args) if section == '' then return end -- bruteforce fix for trailing commas local shouldPrint = false local container = mw.html.create(h.getTag('section')) :addClass('druid-section-container') :addClass(args[section .. '_class']) -- warning: class can be nil, don't concat anything h.printSectionHeader(container, section, args) h.printSectionTabs(container, section, args) for _, item in ipairs(sectionFields) do local node = mw.html.create(h.getTag('cell')) local shouldPrintItem = h.printData(node, item, section, args) if shouldPrintItem then shouldPrint = true local tr = container:tag(h.getTag('row')) :addClass('druid-row') :addClass('druid-row-' .. h.escape(item)) :addClass(args[item .. '_class']) -- warning: class can be nil, don't concat anything :attr('data-druid-section-row', h.escape(section)) if args[section .. '_collapsed'] then tr:addClass('druid-collapsed') end if h.castBool(args[item .. '_wide']) or h.castBool(args[item .. '_nolabel']) then node :attr('colspan', 2) :addClass('druid-data-wide') else h.printLabel(tr:tag(h.getTag('label')), item, args) end tr:node(node) end end if not shouldPrint then return nil end return container end function h.countItems(sectionFields, section, args) local numItems = 0 for _, v in ipairs(sectionFields) do -- we aren't actually printing here, but we're finding out if we should print anything -- because we need the count of columns before we print anything in grid data if h.printData(mw.html.create(), v, section, args) then numItems = numItems + 1 end end return numItems end function h.getNumGridCols(numItems, sizeOfLastRow, numCols) if not numCols then return numItems, 1 end if numItems < numCols then return numItems, 1 end if sizeOfLastRow == 0 then return numCols, 1 end local a, b = sizeOfLastRow, numCols while b ~= 0 do a, b = b, a % b end local lcm = sizeOfLastRow * numCols / a return lcm end function h.printLabel(node, item, args) return node :addClass('druid-label') :addClass('druid-label-' .. h.escape(item)) :wikitext(args[item .. '_display'] or args[item .. '_label'] or item) end function h.printData(node, item, section, args) -- prints data to the node -- and also returns whether the item is nonempty or not local hasData = false local sectionTabs = args[section .. '_tabs'] local tabs = args.tabs if sectionTabs and #sectionTabs > 0 then tabs = sectionTabs end if not tabs or #tabs == 0 then return h.printSimpleData(node, item, args) end if not h.hasComplexData(item, tabs, args) then return h.printSimpleData(node, item, args) end hasData = hasData or h.printTabbedDataItem(node, item, tabs, args) if hasData then node:addClass('druid-data') end return hasData end function h.getTabbedContent(args, label, item) return args[label .. '_' .. item] or args[item] or TABBED_NONEXIST end function h.printSimpleData(node, item, args) if args[item] and type(args[item]) ~= 'string' then error(("Invalid use of field %s as both a section and a data value"):format(item)) end if not args[item] then return false end node:addClass('druid-data') :addClass('druid-data-' .. h.escape(item)) :addClass('druid-data-nonempty') :wikitext('\n\n' .. args[item]) return true end function h.hasComplexData(item, tabs, args) for _, v in ipairs(tabs) do if args[v .. '_' .. item] then return true end end return false end function h.printSectionHeader(node, section, args) if h.castBool(args[section .. '_nolabel']) then return end local tr = node:tag(h.getTag('row')) :attr('data-druid-section', h.escape(section)) local th = tr:tag(h.getTag('sectionTitle')) :attr('colspan', 2) :addClass('druid-section') :addClass('druid-section-' .. h.escape(section)) if args[section .. '_collapsible'] or args[section .. '_collapsed'] then tr:addClass('druid-collapsible') if args[section .. '_collapsed'] then tr:addClass('druid-collapsible-collapsed') end end local emptySections = {} for _, label in ipairs(args.tabs) do local hasLabel = false for _, item in ipairs(args[section] or {}) do if h.getTabbedContent(args, label, item) then hasLabel = true end end if not hasLabel then emptySections[label] = true end end if not next(emptySections) then th:wikitext(args[section .. '_label'] or section) return end for i, label in ipairs(args.tabs) do local div = th:tag('div') :addClass('druid-toggleable-heading') :addClass('druid-toggleable') :attr('data-druid', h.counter .. '-' .. i) :wikitext(args[section .. '_label'] or section) -- we are going to print the section content even in empty nodes -- for compatibility with browsers without :has, where hiding empty rows won't happen if emptySections[label] then div:addClass('druid-toggleable-heading-empty') end if i == 1 then div:addClass('focused') end end end function h.printSectionTabs(node, section, args) local tabs = args[section .. '_tabs'] if not tabs or #tabs == 0 then return end local tr = node:tag(h.getTag('sectionTabsOuter')) :attr('data-druid-section', h.escape(section)) local th = tr:tag(h.getTag('sectionTabs')) :attr('colspan', 2) :addClass('druid-section-tabs') :addClass('druid-section-tabs-' .. h.escape(section)) local texts = {} for i, item in ipairs(tabs) do texts[i] = args[item .. '_label'] or item end h.printTabs(th, tabs, texts, true, args) end ---------------------------- -- general utility functions ---------------------------- function h.overwrite() -- this is a generic utility function that collects args from the invoke call & the parent template. -- normally, you merge args with parent template overwriting the invoke call, but -- since we'll be putting markup/formatting into our invoke call, -- we actually want to overwrite what the user sent. local f = mw.getCurrentFrame() local origArgs = f.args local parentArgs = f:getParent().args local args = {} for k, v in pairs(parentArgs) do v = mw.text.trim(v) if v ~= '' then args[k] = v end end for k, v in pairs(origArgs) do v = mw.text.trim(tostring(v)) if v ~= '' then args[k] = v end end return args end -- generic utility functions -- these would normally be provided by other modules, but to make installation easy -- I'm including everything here function h.split(text, pattern, plain) if not text then return {} end local ret = {} for m in h.gsplit(text, pattern, plain) do ret[#ret+1] = m end return ret end function h.gsplit( text, pattern, plain ) if not pattern then pattern = ',' end if not plain then pattern = '%s*' .. pattern .. '%s*' end local s, l = 1, text:len() return function () if s then local e, n = text:find( pattern, s, plain ) local ret if not e then ret = text:sub( s ) s = nil elseif n < e then -- Empty separator! ret = text:sub( s, e ) if e < l then s = e + 1 else s = nil end else ret = e > s and text:sub( s, e - 1 ) or '' s = n + 1 end return ret end end, nil, nil end function h.escape(s) s = s:gsub(' ', '') :gsub('"', '') :gsub("'", '') :gsub("%?", '') :gsub("%%", '') :gsub("%[", '') :gsub("%]", '') :gsub("{", '') :gsub("}", '') :gsub("!", '') return s end -- normally I would make these constants at the top of the file -- but I don't want to mistake them with user-set constants h.boolFalse = { ['false'] = true, ['no'] = true, [''] = true, ['0'] = true, ['nil'] = true } function h.castBool(x) if not x then return false end return not h.boolFalse[tostring(x):lower()] end h.htmlEntities = { table = { container = 'table', titleOuter = 'tr', titleInner = 'th', section = '', sectionTitle = 'th', sectionTabsOuter = 'tr', sectionTabs = 'td', row = 'tr', label = 'th', cell = 'td', }, div = { container = 'div', titleOuter = 'div', titleInner = 'div', section = 'div', sectionTitle = 'div', sectionTabsOuter = 'div', sectionTabs = 'div', row = 'div', label = 'div', cell = 'div', } } function h.getTag(key) -- try not to totally fail here return h.htmlEntities[h.entityType or 'div'][key] end return p 0b872baa88950499ed588906ea3b07f363640076 Module:Infobox/doc 828 11 19 2025-05-10T19:27:10Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{luadoc}} This module enables the creation of [[support:DRUID infoboxes|DRUID infoboxes]]. 0ce687b29fc5e2d6cad14853a8412fa91910000f Module:Navbox 828 12 20 2025-05-10T19:27:10Z ARTIFICER 564804 Importing default loadout Scribunto text/plain -- version 1.2.4 -- config table for RANGER. -- If you want to change the default config, DO NOT change it here, -- please do it via the `onLoadConfig` hook in [[Module:Navbox/Hooks]]. local config = { default_navbox_class = "navigation-not-searchable", -- Base value of the `class` parameter. default_title_class = nil, -- Base value of the `title_class` parameter. default_above_class = nil, -- Base value of the `above_class` parameter. default_below_class = nil, -- Base value of the `below_class` parameter. default_section_class =nil, -- Base value of the `section_class` parameter. default_header_class = nil, -- Base value of the `header_class` parameter. default_group_class = nil, -- Base value of the `group_class` parameter. default_list_class = 'hlist', -- Base value of the `list_class` parameter. default_header_state = nil, -- Base value of the `state` parameter. editlink_hover_message_key = 'Navbox-edit-hover', -- The system message name for hover text of the edit icon. custom_render_handle = nil, -- usually for debugging purposes only. if set, it should be a function accept 2 parameters: `dataTree` and `args`, and return a string as module output. } --------------------------------------------------------------------- -- Argument alias. local CANONICAL_NAMES = { ['titlestyle'] = 'title_style', ['listclass'] = 'list_class', ['groupstyle'] = 'group_style', ['collapsible'] = 'state', ['editlink'] = 'meta', ['editlinks'] = 'meta', ['editicon'] = 'meta', ['edit_link'] = 'meta', ['edit_links'] = 'meta', ['edit_icon'] = 'meta', ['navbar'] = 'meta', ['name'] = 'template', ['evenodd'] = 'striped', ['class'] = 'navbox_class', ['css'] = 'navbox_style', ['style'] = 'navbox_style', ['group'] = '1:group', ['list'] = '1:list', } local DEFAULT_ARGS = { ['meta'] = true, } local STATES = { ['no'] = '', ['off'] = '', ['plain'] = '', ['collapsed'] = 'mw-collapsible mw-collapsed', ['expanded'] = 'mw-collapsible', } local BOOL_FALSE = { ['no'] = true, ['off'] = true, ['false'] = true, } local STRIPED = { ['odd'] = 'striped-odd', ['swap'] = 'striped-odd', ['y'] = 'striped-even', ['yes'] = 'striped-even', ['on'] = 'striped-even', ['even'] = 'striped-even', ['striped'] = 'striped-even', } local NAVBOX_CHILD_INDICATOR = '!!C$H$I$L$D!!' local NAVBOX_CHILD_INDICATOR_LENGTH = string.len( NAVBOX_CHILD_INDICATOR ) local CLASS_PREFIX = 'ranger-' --------------------------------------------------------------------- local p = {} local h = {} -- non-public local hooks = mw.title.new('Module:Navbox/Hooks').exists and require('Module:Navbox/Hooks') or {} --------------------------------------------------------------------- -- For templates: {{#invoke:navbox|main|...}} function p.main(frame) local args = p.mergeArgs(frame) return p.build(args, true) end -- For modules: return require('module:navbox').build(args) -- By default this method will skip the arguments sanitizing phase -- (and onSanitizeArgsStart/onSanitizeArgsEnd hooks). -- Set `doParseArgs` to true to do arguments sanitizing. -- If `customConfig` table is provided, it will be merged into default config table (after onLoadConfig()). -- If `customHooks` table is provided, all default hook handles will be overrided, unprovided hooks will be empty. function p.build(args, doParseArgs, customConfig, customHooks) if customHooks then hooks = customHooks end if doParseArgs then args = h.parseArgs(args) end h.runHook('onLoadConfig', config, args) if customConfig then for k,v in pairs(customConfig) do config[k] = v end end --merge default args for k,v in pairs(DEFAULT_ARGS) do if args[k] == nil then args[k] = DEFAULT_ARGS[k] end end h.runHook('onBuildTreeStart', args) local dataTree = h.buildDataTree(args) h.runHook('onBuildTreeEnd', dataTree, args) if type(config.custom_render_handle) == 'function' then return config.custom_render_handle(dataTree, args) else return h.render(dataTree) end end -- merge args from frame and frame:getParent() -- It may be used when creating custom wrapping navbox module. -- -- For example, Module:PillNavbox -- -- local RANGER = require('Module:Navbox') -- local p = {} -- function p.main(frame) -- return RANGER.build(RANGER.mergeArgs(frame), true, { -- default_navbox_class = 'pill', -- use "pill" style by default. -- }) -- end -- return p -- function p.mergeArgs(frame) local inputArgs = {} for k, v in pairs(frame.args) do v = mw.text.trim(tostring(v)) if v ~= '' then inputArgs[k] = v end end for k, v in pairs(frame:getParent().args) do v = mw.text.trim(v) if v ~= '' then inputArgs[k] = v end end return inputArgs end ------------------------------------------------------------------------ -- equivalent to mw.text.split(str, div, true) for non-empty separator, but can be over 60x faster, since the latter is Unicode-aware. -- Original version credit: http://richard.warburton.it. function h.explode(div, str) if (div=='') then return nil end local pos,arr = 0,{} -- for each divider found for st,sp in function() return string.find(str,div,pos,true) end do arr[#arr+1] = string.sub(str,pos,st-1) -- Attach chars left of current divider pos = sp+1 -- Jump past current divider end arr[#arr+1] = string.sub(str,pos) -- Attach chars right of last divider return arr end function h.parseArgs(inputArgs) h.runHook('onSanitizeArgsStart', inputArgs) local args = {} for k, v in pairs(inputArgs) do if type(k) == 'string' then -- all named args have already been trimmed local key = h.normalizeKey(k) args[key] = h.normalizeValue(key, v) else args[k] = mw.text.trim(v) -- keep number-index arguments (for {{navbox|child|...}}) end end h.runHook('onSanitizeArgsEnd', args, inputArgs) return args end -- Normalize the name string of arguments. -- the normalized form is (index:)?name, in which: -- index is number index such as 1, 1.3, 1.2.45, -- name is in lowercase underscore-case, such as group, group_style -- e.g: header_state, 1.3:list_style -- the input argument name can be: -- * camel-case: listStyle, ListStyle -- * space separated: list style -- * prefix+index+postfix?, and can be in camel-case or space/hyphen separated or mixed: list 1 style, list1, list1Style, list1_style -- * index.name: 1.3.list -- * index_name: 1.3_list (Space separated are treated as underscore separated, therefore 1.3 list are vaild too) function h.normalizeKey(s) -- camel-case to lowercase underscore-case s = s:gsub('%l%f[%u]', '%0_') -- listStyle to list_style s = (s:gsub(' ', '_')):lower() -- space to underscore s = s:gsub('%l%f[%d]', '%0_') -- group1* to group_1* s = s:gsub('%d%f[%l]', '%0_') -- *1style to *1_style -- number format x_y_z to x.y.z s = s:gsub('(%d)_%f[%d]', '%1%.') -- move index to the beginning: -- group_1.2_style to 1.2:group_style -- group_1 to 1:group s = s:gsub('^([%l_]+)_([%d%.]+)', '%2:%1') -- support index.name and index_name: -- 1.2.group / 1.2_group to 1.2:group s = s:gsub('^([%d%.]+)[%._]%f[%l]', '%1:') -- now the key should be in normalized form, if the origin key is vaild -- standardize *_css to *_style s = s:gsub('_css$', '_style') -- standardize *collapsible to *state s = s:gsub('collapsible$', 'state') -- standardize all aliases to the canonical name return CANONICAL_NAMES[s] or s end function h.normalizeValue(k, v) k = tostring(k) if k:find('_style$') then v = (v .. ';'):gsub(';;', ';') return v elseif k:find('state$') then return STATES[v] elseif k == 'striped' then return STRIPED[v] elseif k == 'meta' then return not BOOL_FALSE[v] elseif v:sub(1, 2) == '{|' or v:match('^[*:;#]') then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. v ..'\n' end return v end -- parse arguments, convert them to structured data tree function h.buildDataTree(args) -- parse args to a tree local tree = h.buildTree(args) -- build root navbox data local data = h.buildNavboxData(tree.info) -- Recursively build section tree if tree.children then data.sections = h.buildSections(tree.children, { listClass = h.mergeAttrs(args.list_class, config.default_list_class), listStyle = args.list_style, groupClass = h.mergeAttrs(args.group_class, config.default_group_class), groupStyle = args.group_style, sectionClass = h.mergeAttrs(args.section_class, config.default_section_class), sectionStyle = args.section_style, headerClass = h.mergeAttrs(args.header_class, config.default_header_class), headerStyle = args.header_style, headerState = args.header_state or config.default_header_state, }) end if args[1] == 'child' then data.CHILD_MODE = true end return data end function h.buildSections(list, defaults) local sections = {} local section = nil for k, node in h.orderedPairs(list) do local info = node.info or {} --start a new section if needed if info.header or not section then section = { class = h.mergeAttrs(info.section_class, defaults.sectionClass), style = h.mergeAttrs(info.section_style, defaults.sectionStyle), body = {} } -- Section header if needed. -- If the value of a `|header_n=` is two or more consecutive "-" characters (e.g. --, -----), -- it means start a new section without header, and the new section will be not collapsable. if info.header and not string.match(info.header, '^%-%-+$') then section.header = { content = info.header, class = h.mergeAttrs(info.header_class, defaults.headerClass), style = h.mergeAttrs(info.header_style, defaults.headerStyle), } section.state = info.state or defaults.headerState or 'mw-collapsible' end sections[#sections+1] = section end -- above/below for this section if info.above then section.above = { content = info.above, class= h.mergeAttrs(info.above_class, config.default_above_class), style = info.above_style, } end if info.below then section.below = { content = info.below, class= h.mergeAttrs(info.below_class, config.default_below_class), style = info.below_style, } end -- this group+list row if info.group or info.list or node.children then local row = {} section.body[#section.body+1] = row if info.group then row.group = { content = info.group, class = h.mergeAttrs(info.group_class, defaults.groupClass), style = h.mergeAttrs(info.group_style, defaults.groupStyle), } end if info.list then if string.sub(info.list, 1, NAVBOX_CHILD_INDICATOR_LENGTH) == NAVBOX_CHILD_INDICATOR then -- it is from {{navbox|child| ... }} row.sections = mw.text.jsonDecode(string.sub(info.list, NAVBOX_CHILD_INDICATOR_LENGTH+1)) else row.list = { content = info.list, class = h.mergeAttrs(info.list_class, defaults.listClass), style = h.mergeAttrs(info.list_style, defaults.listStyle), } end end -- sub-nodes, will override {{navbox|child| ... }} if node.children then row.sections = h.buildSections(node.children, defaults) end end end -- flatten if needed: -- If a section has only one list with no content and no corresponding group but has sublists, these sublists will be moved to upper level. for _, sect in ipairs(sections) do if #sect.body == 1 then local node = sect.body[1] if not node.group and not node.list and node.sections and #node.sections == 1 and not node.sections[1].header then sect.body = node.sections[1].body end end end return sections end function h.buildNavboxData(info) local data = { state = info.state or 'mw-collapsible', -- here we need a default value for empty input striped = info.striped, class = h.mergeAttrs(info.navbox_class, config.default_navbox_class), style = info.navbox_style, } -- data for titlebar if info.title or info.meta or data.state ~= '' then data.title = { content = info.title, class = h.mergeAttrs(info.title_class, config.default_title_class), style = info.title_style, } if info.meta then data.metaLinks = { link = info.meta_link, -- will be used as [[$link|$text]] url = info.meta_url, -- will be used as [$url $text], only if there is no data.metaLinks.link text = info.meta_text, --hovertext } if not info.meta_link and not info.meta_url then -- default link target local title = mw.title.new(info.template or mw.getCurrentFrame():getParent():getTitle(), 'Template') if not title then error('Invalid title ' .. info.template) end data.metaLinks.link = title.fullText end if not info.meta_text then local msg = mw.message.new(config.editlink_hover_message_key) data.metaLinks.text = msg:exists() and msg:plain() or 'View or edit this template' end end end -- above/below if info.above then data.above = { content = info.above, class= h.mergeAttrs(info.above_class, config.default_above_class), style = info.above_style, } end if info.below then data.below = { content = info.below, class= h.mergeAttrs(info.below_class, config.default_below_class), style = info.below_style, } end return data end -- parse arguments, convert them into a tree based on their index -- each node on tree is { info = { #data for this node# }, children = {#children nodes#} } function h.buildTree(args, defaults) local tree = { info = {} } local check = function(key, value) local index, name = string.match(key, '^([%d%.]+):(.+)$') -- no number index found, for root node if not index then tree.info[key] = value return end -- filter invalid number index if string.match(index, '^%.') or string.match(index, '%.$') or string.match(index, '%.%.') then return end -- find the node that matches the index in the tree local arr = h.explode('.', index) local node = tree for _, v in ipairs(arr) do v = tonumber(v) if not node.children then node.children = {} end if not node.children[v] then node.children[v] = { info = {} } end node = node.children[v] end node.info[name] = value end for k,v in pairs(args) do check(k, v) end return tree end function h.render(data) -- handle {{navbox|child|...}} syntax if data.CHILD_MODE then return NAVBOX_CHILD_INDICATOR..mw.text.jsonEncode(data.sections) end ----- normal case ----- local out = mw.html.create() -- build navbox container local navbox = out:tag('div') :attr('role', 'navigation'):attr('aria-label', 'Navbox') :addClass(CLASS_PREFIX..'navbox') :addClass(data.class) :addClass(data.striped) :addClass(data.state) :cssText(data.style) --title bar if data.title then local titlebar = navbox:tag('div'):addClass(CLASS_PREFIX..'title') titlebar:tag('div'):addClass('mw-collapsible-toggle-placeholder') if data.metaLinks then titlebar:node(h.renderMetaLinks(data.metaLinks)) end if data.title then titlebar:addClass(data.title.class):tag('div') :addClass(CLASS_PREFIX..'title-text') :addClass(data.title.class) :cssText(data.title.style) :wikitext(data.title.content) end end --above if data.above then navbox:tag('div') :addClass(CLASS_PREFIX..'above mw-collapsible-content') :addClass(data.above.class) :cssText(data.above.style) :wikitext(data.above.content) :attr('id', (not data.title) and mw.uri.anchorEncode(data.above.content) or nil) -- id for aria-labelledby attribute, if no title end -- sections if data.sections then h.renderSections(data.sections, navbox, 0, true) else -- Insert a blank section for completely empty navbox to ensure it behaves correctly when collapsed. if not data.above and not data.below then navbox:tag('div'):addClass(CLASS_PREFIX..'section mw-collapsible-content') end end --below if data.below then navbox:tag('div') :addClass(CLASS_PREFIX..'below mw-collapsible-content') :addClass(data.below.class) :cssText(data.below.style) :wikitext(data.below.content) end return tostring(out)..'[[Category:Pages with navboxes]]' -- suggest to use HIDDENCAT here; will be used for maintenance & gadget imports end function h.renderSections(data, container, level, even) for i,sect in ipairs(data) do --section box local section = container:tag('div') :addClass(CLASS_PREFIX..'section mw-collapsible-content') :addClass(sect.class) :addClass(sect.state) :cssText(sect.style) -- section header if sect.header then section:tag('div') :addClass(CLASS_PREFIX..'header') :addClass(sect.header.class) :cssText(sect.header.style) :tag('div'):addClass('mw-collapsible-toggle-placeholder'):done() :tag('div'):addClass(CLASS_PREFIX..'header-text'):wikitext(sect.header.content) end -- above: if sect.above then section:tag('div') :addClass(CLASS_PREFIX..'above mw-collapsible-content') :addClass(sect.above.class) :cssText(sect.above.style) :wikitext(sect.above.content) end -- body: groups&lists local box = section:tag('div'):addClass(CLASS_PREFIX..'section-body mw-collapsible-content') even = h.renderBody(sect.body, box, level, (level==0) and true or even) -- reset even status each section -- below: if sect.below then section:tag('div') :addClass(CLASS_PREFIX..'below mw-collapsible-content') :addClass(sect.below.class) :cssText(sect.below.style) :wikitext(sect.below.content) end end return even end function h.renderMetaLinks(info) local box = mw.html.create('span'):addClass(CLASS_PREFIX..'meta') local meta = box:tag('span'):addClass('nv nv-view') if info.link then meta:wikitext('[['..info.link..'|') :tag('span'):wikitext(info.text):attr('title', info.text):done() :wikitext(']]') elseif info.url then meta:wikitext('['..info.url..' ') :tag('span'):wikitext(info.text):attr('title', info.text):done() :wikitext(']') end return box end function h.renderBody(info, box, level, even) local count = 0 for _,v in h.orderedPairs(info) do if v.group or v.list or v.sections then count = count + 1 -- row container local row = box:tag('div'):addClass(CLASS_PREFIX..'row') -- group cell if v.group or (v.sections and level > 0 and not v.list) then local groupCell = row:tag('div') :addClass(CLASS_PREFIX..'group level-'..level) :addClass((level > 0) and CLASS_PREFIX..'subgroup' or nil) local groupContentWrap = groupCell:tag('div'):addClass(CLASS_PREFIX..'wrap') if v.group then groupCell:addClass(v.group.class):cssText(v.group.style) groupContentWrap:wikitext(v.group.content) else groupCell:addClass('empty') row:addClass('empty-group-list') end else row:addClass('empty-group') end -- list cell local listCell = row:tag('div'):addClass(CLASS_PREFIX..'listbox') if not v.list and not v.sections then listCell:addClass('empty') row:addClass('empty-list') end if v.list or (v.group and not v.sections) then --listCell:node(h.renderList(v['list'] or '', k, level, args)) even = not even -- flip even/odd status local cell = listCell:tag('div') :addClass(CLASS_PREFIX..'wrap') :addClass(even and CLASS_PREFIX..'even' or CLASS_PREFIX..'odd') if v.list then cell:addClass(v.list.class):cssText(v.list.style) :tag('div'):addClass(CLASS_PREFIX..'list'):wikitext(v.list.content) end end if v.sections then local sublistBox = listCell:tag('div'):addClass(CLASS_PREFIX..'sublist level-'..level) even = h.renderSections(v.sections, sublistBox, level+1, even) end end end if count > 0 then box:css('--count', count) -- for flex-grow end return even end -- pairs, but sort the keys alphabetically function h.orderedPairs(t, f) local a = {} for n in pairs(t) do table.insert(a, n) end table.sort(a, f) local i = 0 -- iterator variable local iter = function () -- iterator function i = i + 1 if a[i] == nil then return nil else return a[i], t[a[i]] end end return iter end -- For cascading parameters, such as style or class, they are merged in exact order (from general to specific). -- Any parameter starting with multiple hyphens(minus signs) will terminate the cascade. -- An example: -- For group_1.1, its style is affected by parameters |group_1.1_style=... , |subgroup_level_1_style=... , and |subgroup_style=... . -- If we have |group_1.1_style= color:red; |subgroup_level_1_style= font-weight: bold; and |subgroup_style= color: green; , -- the style of group_1.1 will be style="color:green; font-weight: bold; color: red;" ; -- if we have |group_1.1_style= -- color:red; |subgroup_level_1_style= font-weight: bold; and |subgroup_style= color: green; , -- the style of group_1.1 will be style="color: red;" only, and the cascade is no longer performed for |subgroup_level_1_style and |subgroup_style. function h.mergeAttrs(...) local trim = mw.text.trim local s = '' for i=1, select('#', ...) do local v = trim(select(i, ...) or '') local str = string.match(v, '^%-%-+(.*)$') if str then s = trim(str..' '..s) break else s = trim(v..' '..s) end end if s == '' then s = nil end return s end function h.runHook(key, ...) if hooks[key] then hooks[key](...) end end ----------------------------------------------- return p 3708af7780e043415ec8ae2dc63d8fc36bfe6e8d Module:ArgsUtil 828 13 21 2025-05-10T19:27:10Z ARTIFICER 564804 Importing default loadout Scribunto text/plain local p = {} function p.merge() local f = mw.getCurrentFrame() local origArgs = f.args local parentArgs = f:getParent().args local args = {} for k, v in pairs(origArgs) do v = mw.text.trim(tostring(v)) if v ~= '' then args[k] = v end end for k, v in pairs(parentArgs) do v = mw.text.trim(v) if v ~= '' then args[k] = v end end return args end return p 1d1b2105bd857dcc5e33c8c0a8a780f67cbae72e Module:ArgsUtil/doc 828 14 22 2025-05-10T19:27:11Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This is a basic module for processing args. Usage: <syntaxhighlight lang="lua"> local util_args = require('Module:ArgsUtil') local p = {} function p.main(frame) local args = util_args.merge() -- it is not necessary to pass a `frame` object; `merge` will generate its own mw.logObject(args) -- `args` now contains args passed via the template merged with defaults provided directly via the invoke. -- anything the user sent via the template will be given priority. end return p </syntaxhighlight> == Extending this module == By design, {{ml|ArgsUtil}} is shipped with only a single function and no customization available; this simplifies documentation and covers nearly all use cases. An extended version of this module is available at [[support:Module:ArgsUtil|Module:ArgsUtil on the support wiki]] if you want additional functionality; and you can of course feel free to modify this module on your own wiki as needed. 6fc2a23dcff62ac5a222903e46bc56c07b0a2b1f Module:Template link 828 15 23 2025-05-10T19:27:11Z ARTIFICER 564804 Importing default loadout Scribunto text/plain -- This code is adapted from Wikipedia -- For the original, please see: https://en.wikipedia.org/wiki/Module:Template_link_general -- This implements Template:Tlg local getArgs = require('Module:ArgsUtil').merge local p = {} -- Is a string non-empty? local function _ne(s) return s ~= nil and s ~= "" end local nw = mw.text.nowiki local function addTemplate(s) local i, _ = s:find(':', 1, true) if i == nil then return 'Template:' .. s end local ns = s:sub(1, i - 1) if ns == '' or mw.site.namespaces[ns] then return s else return 'Template:' .. s end end local function trimTemplate(s) local needle = 'template:' if s:sub(1, needle:len()):lower() == needle then return s:sub(needle:len() + 1) else return s end end local function linkTitle(args) if _ne(args.nolink) then return args[1] end local titleObj local titlePart = '[[' if args[1] then -- This handles :Page and other NS titleObj = mw.title.new(args[1], 'Template') else titleObj = mw.title.getCurrentTitle() end titlePart = titlePart .. (titleObj ~= nil and titleObj.fullText or addTemplate(args[1])) local textPart = args.alttext if not _ne(textPart) then if titleObj ~= nil then textPart = titleObj:inNamespace("Template") and args[1] or titleObj.fullText else -- redlink textPart = args[1] end end if _ne(args.subst) then -- HACK: the ns thing above is probably broken textPart = 'subst:' .. textPart end if _ne(args.brace) then textPart = nw('{{') .. textPart .. nw('}}') elseif _ne(args.braceinside) then textPart = nw('{') .. textPart .. nw('}') end titlePart = titlePart .. '|' .. textPart .. ']]' if _ne(args.braceinside) then titlePart = nw('{') .. titlePart .. nw('}') end return titlePart end function p.main(frame) local args = getArgs() return p._main(args) end function p._main(args) local bold = _ne(args.bold) or _ne(args.boldlink) or _ne(args.boldname) local italic = _ne(args.italic) or _ne(args.italics) local dontBrace = _ne(args.brace) or _ne(args.braceinside) local code = _ne(args.code) or _ne(args.tt) local show_result = _ne(args._show_result) local expand = _ne(args._expand) -- Build the link part local titlePart = linkTitle(args) if bold then titlePart = "'''" .. titlePart .. "'''" end if _ne(args.nowrapname) then titlePart = '<span class="nowrap">' .. titlePart .. '</span>' end -- Build the arguments local textPart = "" local textPartBuffer = "&#124;" local codeArguments = {} local codeArgumentsString = "" local i = 2 local j = 1 while args[i] do local val = args[i] if val ~= "" then if _ne(args.nowiki) then -- Unstrip nowiki tags first because calling nw on something that already contains nowiki tags will -- mangle the nowiki strip marker and result in literal UNIQ...QINU showing up val = nw(mw.text.unstripNoWiki(val)) end local k, v = string.match(val, "(.*)=(.*)") if not k then codeArguments[j] = val j = j + 1 else codeArguments[k] = v end codeArgumentsString = codeArgumentsString .. textPartBuffer .. val if italic then val = '<span style="font-style:italic;">' .. val .. '</span>' end textPart = textPart .. textPartBuffer .. val end i = i + 1 end -- final wrap local ret = titlePart .. textPart if not dontBrace then ret = nw('{{') .. ret .. nw('}}') end if _ne(args.a) then ret = nw('*') .. '&nbsp;' .. ret end if _ne(args.kbd) then ret = '<kbd>' .. ret .. '</kbd>' end if code then ret = '<code>' .. ret .. '</code>' elseif _ne(args.plaincode) then ret = '<code style="border:none;background:transparent;">' .. ret .. '</code>' end if _ne(args.nowrap) then ret = '<span class="nowrap">' .. ret .. '</span>' end --[[ Wrap as html?? local span = mw.html.create('span') span:wikitext(ret) --]] if _ne(args.debug) then ret = ret .. '\n<pre>' .. mw.text.encode(mw.dumpObject(args)) .. '</pre>' end if show_result then local result = mw.getCurrentFrame():expandTemplate{title = addTemplate(args[1]), args = codeArguments} ret = ret .. " → " .. result end if expand then local query = mw.text.encode('{{' .. addTemplate(args[1]) .. string.gsub(codeArgumentsString, textPartBuffer, "|") .. '}}') local url = mw.uri.fullUrl('special:ExpandTemplates', 'wpInput=' .. query) mw.log() ret = ret .. " [" .. tostring(url) .. "]" end return ret end return p 45d40a4bff9a1d0eb4274f56fb2f17849aa68728 Module:Template link/doc 828 16 24 2025-05-10T19:27:11Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{From Wikipedia|Module:Template link general}} 1a395265ccbd055518c1d14b52362cc148b89c81 Module:Main page 828 17 25 2025-05-10T19:27:12Z ARTIFICER 564804 Importing default loadout Scribunto text/plain local p = {} local h = {} -- merge args from frame and frame:getParent() function h.mergeArgs(frame) local inputArgs = {} for k, v in pairs(frame.args) do v = mw.text.trim(tostring(v)) if v ~= '' then inputArgs[k] = v end end for k, v in pairs(frame:getParent().args) do v = mw.text.trim(v) if v ~= '' then inputArgs[k] = v end end return inputArgs end -------------------------------------------------------------------- function p.main(frame) local args = h.mergeArgs(frame) -- use the rootpage parameter if given, otherwise use the current page name local rootpage = args['rootpage'] or mw.title.getCurrentTitle().fullText -- parse the arguments into CSS variables that contain legal syntax for grid-template-areas local desktop = "--main-page-layout--desktop: '" .. string.gsub(args['desktop'], '\n', "' '") .. "';" local tablet = "--main-page-layout--tablet: '" .. string.gsub(args['tablet' ], '\n', "' '") .. "';" local mobile = "--main-page-layout--mobile: '" .. string.gsub(args['mobile' ], '\n', "' '") .. "';" -- grid-template-columns overrides local desktop_cols = mw.text.trim(string.gsub(args['desktop-columns'] or '', ';', '')) local tablet_cols = mw.text.trim(string.gsub(args[ 'tablet-columns'] or '', ';', '')) local mobile_cols = mw.text.trim(string.gsub(args[ 'mobile-columns'] or '', ';', '')) -- set the variables used by grid-template-columns if desktop_cols ~= '' then desktop = desktop .. '--main-page-layout-columns--desktop: '.. desktop_cols ..';' end if tablet_cols ~= '' then tablet = tablet .. '--main-page-layout-columns--tablet: '.. tablet_cols ..';' end if mobile_cols ~= '' then mobile = mobile .. '--main-page-layout-columns--mobile: '.. mobile_cols ..';' end local boxes = {} -- list of all boxes as a simple list, used to set the order of appearance local seen_boxes = {} -- list of all boxes as a k:v pair, used to filter out duplicates local boxes_in_layout = {} -- list of layouts, then list of all boxes in that layout local missing_boxes = {} -- list of layouts, then list of boxes that are *not* included in that layout -- add every box referenced in the layout rules once function parse_layout(layout) for _,name in pairs(mw.text.split(mw.text.trim(args[layout]), '%s')) do if not seen_boxes[name] then boxes[#boxes+1] = name -- table with numerical keys for set html order seen_boxes[name] = true end boxes_in_layout[layout][name] = true end end local layouts = {'desktop', 'tablet', 'mobile'} -- loop through the layouts the first time to set up the box lists for _,layout in pairs(layouts) do boxes_in_layout[layout] = {} missing_boxes[layout] = {} parse_layout(layout) end -- then loop through the layouts a second time because we need to compare those completed lists to check for missing boxes for _,layout in pairs(layouts) do for _,name in pairs(boxes) do if boxes_in_layout[layout][name] ~= true then mw.addWarning( 'WARNING: the \"' .. name .. '\" box is missing in the ' .. layout .. ' layout. If this is intentional, you can ignore this warning.') missing_boxes[layout][name] = true end end end -- start our mp-container wrapper, and add our variables from earlier as inline styles to declare them -- the rootpage is added to the dataset so it's easily accessible by mp-edit-links.js and it doesn't need to make its own API call local output = mw.html.create() local container = output:tag('div'):attr('id', 'mp-container'):cssText(desktop .. tablet .. mobile):attr('data-rootpage', rootpage) -- loop through boxes and add the relevant main page subpages into the output for _,box in pairs(boxes) do mw.ext.VariablesLua.vardefine('imp-variable-id', box) -- using a vardefine lets us pass this directly to the template without going through the user-facing box local pre_vardefine = '' for _,layout in pairs(layouts) do pre_vardefine = pre_vardefine .. (missing_boxes[layout][box] and '0' or '1') .. ',' end -- formatted as a psuedo-bitmask to reduce variable usage, "<display-on-destop>, <display-on-tablet>, <display-on-mobile>," each value is 0 or 1 (trailing comma is insignificant) -- expected to be used with #explode in the template receiving the variable mw.ext.VariablesLua.vardefine('imp-variable-display-box', pre_vardefine) if mw.title.new(rootpage .. '/' .. box).exists then container:wikitext(frame:expandTemplate{ title = ':' .. rootpage .. '/' .. box}) else container:wikitext(frame:expandTemplate{ title = 'Main page box/missing', args = { box, rootpage = rootpage}}) -- See [[Template:Main page box/missing]] end end return output end return p 16b810f2109fd3f6b08e48f8e138808636455aa2 Module:Navbox/Hooks 828 18 26 2025-05-10T19:27:12Z ARTIFICER 564804 Importing default loadout Scribunto text/plain -- as of Module:Navbox version 1.2.2 local p = {} --------------------------------------------------- -- Runs before RANGER does args sanitizing -- `inputArgs` is the merged input arguments from the template (frame.args + frame:getParent().args) function p.onSanitizeArgsStart(inputArgs) end -- Runs after RANGER does args sanitizing -- `args` parameter is the sanitized arguments table with normalized keys (in lowercase underscore-case with canonical names) and normalized values. function p.onSanitizeArgsEnd(args, inputArgs) end -- Runs when RANGER loads config table (after onSanitizeArgsEnd and before onBuildTreeStart) -- `config` parameter is the default config table. -- `args` parameter is the sanitized arguments table (has not yet merged the DEFAUT_ARGS table). function p.onLoadConfig(config, args) end -- Runs before RANGER converts sanitized arguments table to structured data tree -- `args` parameter is the sanitized arguments table that has the DEFAUT_ARGS merged. function p.onBuildTreeStart(args) end -- Runs after RANGER converts sanitized arguments table to structured data tree -- `tree` parameter is the structured data. -- `args` parameter is the sanitized arguments table. function p.onBuildTreeEnd(tree, args) end --------------------------------------------------- return p 54e0c53295a318f2b18e70dc64e5b09867e03128 Module:Navbox/doc 828 19 27 2025-05-10T19:27:12Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This module is used by [[Template:Navbox]]. 87d5c562165cd75b963e03aa428c80413bacff30 Template:Extension DPL 10 20 28 2025-05-10T19:27:14Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <noinclude>This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:DynamicPageList3 Extension:DynamicPageList3].</noinclude> 087ffd4625ae7b1fea3436ec3f929e82ee739d29 Template:Documentation 10 21 29 2025-05-10T19:27:14Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- --><div class="documentation"><!-- --><div class="documentation-header"><!-- -->[[File:Template-{{#ifexist:{{#vardefineecho:docpage|{{{1|Template:{{#replace:{{{1|{{PAGENAME}}/doc}}}|Template:|}}}}}<!-- end vde -->}}|{{#if:{{{baddoc|}}}|bad}}|no}}info.svg|50px|link=]] <!-- --><span style="font-weight: bold; font-size: 125%; margin-right: 10px;">Documentation</span> <!-- -->{{#ifeq:{{SUBPAGENAME}}|doc|<!--nothing-->|<!-- -->{{#ifexist:{{#var:docpage}}|<!-- --><span style="font-size: 90%; font-style: italic;"><!-- -->[{{fullurl:{{#var:docpage}}|action=edit}} Edit] this documentation at [{{fullurl:{{#var:docpage}}|redirect=no}} {{FULLPAGENAMEE:{{#var:docpage}}}}].<!-- --></span><!-- -->}}<!-- -->}}<!-- --><div style="text-align: right; margin-left: 5px;"><!-- -->([{{fullurl:{{FULLPAGENAMEE}}/doc|action=edit}} edit] • [{{fullurl:{{FULLPAGENAMEE}}/doc|action=history}} history] • [{{fullurl:{{FULLPAGENAMEE}}|action=purge}} purge])<!-- --></div><!-- --></div><!-- <!-- leave line break here --> {{#if:{{{lua|}}}|{{UsesLua|{{{lua}}} }} }} <!-- documentation text/error box begins here --> <div style="border-radius: 5px; border: 2px solid var(--wiki-content-border-color); margin: 0.5em auto 1em; padding: 0.8em 1.2em; background: var(--wiki-content-background-color--secondary);"> <!-- -->{{#ifexist:{{#var:docpage}}|<!-- If there is documentation --> {{ {{#var:docpage}} }} <!-- Else -->|<!-- -->No documentation subpage exists yet for this template. [{{fullurl:{{FULLPAGENAMEE:Template:{{{1|{{PAGENAME}}}}}}}/doc|action=edit&preload=Template:Documentation/preload}} Create one now].<!-- -->[[Category:Templates with no documentation]]<!-- -->}}<!-- leave line break here --> <!-- documentation text/error box ends here --> </div> <!-- -->{{#ifeq:{{SUBPAGENAME}}|doc|<!-- -->{{#ifeq:{{BASEPAGENAME}}|Doc|<!--nothing-->|<!-- only if page is not Template:Documentation -->This is the documentation page, it should be transcluded into the main template page. See {{tlx|doc}} for more information. <!-- -->[[Category:Template documentation]]<!-- -->}}<!-- -->}}<!-- --></div><!-- --></includeonly><!-- --><noinclude>{{Documentation}} [[Category:Documentation templates| ]] </noinclude> c4c3117e700d89854599fb352f60792ed2165be0 Template:Luadoc 10 22 30 2025-05-10T19:27:15Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <noinclude>[[Category:Documentation templates]]</noinclude>{{#ifeq:{{int:scribunto-doc-page-name|{{ROOTPAGENAME}}}}|{{FULLPAGENAME}}||<div class="luadoc">Edit the [[{{int:scribunto-doc-page-name|{{ROOTPAGENAME}}}}|documentation or categories]] for this module. {{#ifexist:{{FULLPAGENAME}}/i18n|This module has an [[/i18n|i18n file]].}}</div>}} 37de49949dfa0f16975ff4e9850b4573ec388cb6 Template:MP link 10 23 31 2025-05-10T19:27:15Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- Variables -->{{#vardefine:link|{{{link|{{{1|}}}}}}}}<!-- Image-->{{#if:{{{image|}}}|[[File:{{#replace:{{{image|}}}|File:}}|{{{size|42px}}}|link={{#var:link}}{{#if:{{{altText|}}}|{{!}}alt={{{altText|}}}}}|class={{{imageClass|}}}]]}}<!-- Link below the image -->{{#if:{{{1|}}}|<!-- If it's an external link, use external link syntax -->{{#if:{{#pos:{{{link|}}}|http}}|[{{{link|}}} {{{1|}}}]|<!-- Otherwise use normal syntax the ifeq, pos, sub combo is filtering out a leading :, so that we can add our own without doubling up, allowing easy category linking -->[[:{{#ifeq:{{#pos:{{#var:link}}|:}}|0|{{#sub:{{#var:link}}|1}}|{{#var:link}}}}|{{{1|}}}]]}} }}</includeonly><noinclude> {{doc}} [[Category:Main page templates]] </noinclude> be5325327a3e6c626069e9f98a5dd2b9f283042c Template:MP link/doc 10 24 32 2025-05-10T19:27:16Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This creates one of the stylized and formatted links on the [[{{MediaWiki:Mainpage}}|main page]]. == Usage == Groups of this template should be wrapped inside of <code><nowiki><div class="mp-links"></div></nowiki></code> and each entry should be a separate line in an [[wikipedia:Help:Lists#Basically|unordered list]]. This div can be given one of the classes <code>columns-x</code> where x is a number from 1 to 8, and the links will line up in that many columns if space permits (default is 3). The div can also optionally be given the class <code>stretch</code> and it will stretch the list vertically to fill empty space. See [[Mediawiki:Common.css]] for the full definitions of these classes and styling for this template. ===Parameters=== <templatedata> { "description": { "en": "Creates stylized and formatted links on the main page." }, "format": "inline", "params": { "1": { "label": { "en": "Text" }, "description": { "en": "The text to display. If the link parameter is not given, this will also be the link target." }, "example": "Stuff", "type": "string", "suggested": true }, "link": { "label": { "en": "Link" }, "description": { "en": "The target page for the link, if different than the display text." }, "required": false, "example": "Main Page", "type": "wiki-page-name" }, "image": { "label": { "en": "Image" }, "description": { "en": "An image to display with the link." }, "required": false, "suggested": true, "type": "wiki-file-name" }, "size": { "label": { "en": "Image size" }, "description": { "en": "The size of the image, in px." }, "required": false, "default": "42px", "type": "string" }, "imageClass": { "label": "Image class", "description": "A class to give directly to the image", "example": "invert-on-dark", "type": "string", "suggestedvalues": [ "invert-on-dark", "invert-on-light" ] }, "altText": { "label": "Alt text", "description": "Alt text to describe the image", "example": "Wiki logo", "type": "string", "suggested": true } }, "paramOrder": [ "1", "link", "image", "size", "imageClass", "altText" ] } </templatedata> ==Examples== <pre> <div class="mp-links columns-3"> * {{MP link|Stuff|link=Special:Random|image=Site-logo.png|size=42px}} * {{MP link|Things|link=Special:Random}} * {{MP link|Other stuff|link=Special:Random|image=Site-logo.png|size=42px}} </div> </pre> Produces: <div class="mp-links columns-3"> * {{MP link|Stuff|link=Special:Random|image=Site-logo.png|size=42px}} * {{MP link|Things|link=Special:Random}} * {{MP link|Other stuff|link=Special:Random|image=Site-logo.png|size=42px}} </div> <noinclude> [[Category:Template documentation]] </noinclude> 0df5d36904353428acb21882bd8923560f77a142 Template:Doc 10 25 33 2025-05-10T19:27:16Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:Documentation]] 041222999c2c4765a4663432058f50686fb65f40 Template:Uses Lua 10 26 34 2025-05-10T19:27:17Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Ambox | color = darkblue | icon = Lua logo.svg | title= This template uses one or more modules written in the Lua programming language. | message = For more information, see [[wikipedia:Wikipedia:Lua|Wikipedia:Lua]] or the [[mw:Extension:Scribunto/Lua reference manual|Lua reference manual on mediawiki.org]]. Modules used include: {{#if:{{{1|}}}|{{#arraymap:{{{1|}}}|,|%s|'''[[Module:%s|%s]]'''}}|''None provided''}}. | tiny = {{{tiny|}}} | class = {{{class|}}} }}</includeonly><noinclude>{{doc|Template:Ambox/doc}}</noinclude> 1930c9b36136a5562cfaf7584f811d62b114a58a Template:Ambox 10 27 35 2025-05-10T19:27:17Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- --><div class="ambox {{{class|}}} {{#ifeq:{{lc:{{{tiny|}}}}}|yes|tiny}}"<!-- --> style="{{#if:{{{color|}}}|--ambox-color: {{{color|}}};<!-- /if -->}}"><!-- --><div class="ambox-icon metadata <!-- the metadata class stops it from showing in MediaViewer -->">[[File:{{{icon|Ambox banner content.svg}}}{{!}}{{#ifeq:{{lc:{{{tiny|}}}}}|yes|48x20px|48x48px}}|alt=|link=]]</div><!-- --><div class="ambox-content"><!-- start ambox content -->{{#if: {{{title|}}} | <p class="ambox-title">{{{title}}}</p> }}<!-- --><p class="ambox-text">{{{message|No text provided.}}}{{#if: {{{date|}}} |<nowiki> </nowiki>(Message added: {{{date}}}) }}</p><!-- --></div><!-- end ambox content --></div><!-- end ambox --></includeonly><noinclude> {{doc}} [[Category:Notice templates]]</noinclude> 8aaad422c212cbd451862c241845af0d62eddbd5 Template:(( 10 28 36 2025-05-10T19:27:17Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{<noinclude>{{documentation}}</noinclude> a506ba66cf7c806baae7faecb221b3a946721f6a Template:Tlx 10 29 37 2025-05-10T19:27:18Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:Tl]] af3906f239c45d791753d3170c656eddd6d1af5f Template:Tl 10 30 38 2025-05-10T19:27:18Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{#invoke:Template link|main|code=on}}</includeonly><noinclude> {{Documentation}} </noinclude> 1c13b1daaf7b7e8ce1e45cc03b4baf31c09bc6cd Template:Tl/doc 10 31 39 2025-05-10T19:27:18Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{From Wikipedia|Module:Template link general,Template:Tlx}} {{Uses Lua|Template link}} This template returns an exemplaric use of a template while linking to the template description page, if the template exists. == Usage == <pre> {{tl|<Template name>}} {{tl|<Template name>|<Template parameters>}} </pre> ; ''unnamed parameter'' 1 : Template name (without <code>Template:</code> prefix) ; ''unnamed parameter'' 2 - 9 : Optional. Template parameters ; nl : Optional flag to display an un-linked template usage. == Examples == : <code><nowiki>{{tl|stub}}</nowiki></code> returns {{tl|stub}} : <code><nowiki>{{tl|stub|1}}</nowiki></code> returns {{tl|stub|1}} : <code><nowiki>{{tl|stub|1|2|nl{{=}}y}}</nowiki></code> returns {{tl|stub|1|2|nl{{=}}y}} : <code><nowiki>{{tl|for|page|t1{{=}}alt text}}</nowiki></code> returns {{tl|for|page|t1{{=}}alt text}} == See also == <includeonly> [[Category:Formatting templates]] </includeonly><noinclude>[[Category:Template documentation]]</noinclude> 7cb4f0fa749ef8a18a48c4b5816357a225f4acee Template:Nowrap 10 32 40 2025-05-10T19:27:19Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <span class="nowrap">{{{1}}}</span><noinclude> {{documentation}} </noinclude> 8817bafce418a08a72f3425283fc03d04a2d8d44 Template:)) 10 33 41 2025-05-10T19:27:19Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki }}<noinclude> {{documentation}} </noinclude> 85ca77d4d6ff71d8e6396ebd798f87fa7f45dc02 Template:))/doc 10 34 42 2025-05-10T19:27:20Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:No wrap 10 35 43 2025-05-10T19:27:20Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:Nowrap]] 269180d5083536bbbf72d889477805cfde7aac9e Template:Normal 10 36 44 2025-05-10T19:27:20Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <span style{{=}}"font-weight:normal; font-style:normal">{{{1}}}</span><noinclude> {{documentation}} </noinclude> f1d74e033cde1ce3b2efdc98b78fb863b8524fcf Template:((/doc 10 37 45 2025-05-10T19:27:21Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {| class="wikitable" style="text-align:center" |- ! scope="col" style="width:7.0em;" | {{no wrap|Template call}}<br>{{normal|('''m''' for magic word)}} ! scope="col" style="width:5.75em;" | {{no wrap|Output}}&nbsp;{{normal|(delayed interpretation as wikimarkup)}} ! scope="col" style="width:9.0em;" | {{no wrap|HTML alternative}} {{normal|(never interpreted as wikimarkup)}} ! Why you might want to use this |- style="vertical-align:top" | <code><nowiki>{{!}}</nowiki></code> '''(m)''' | <nowiki>|</nowiki> | &amp;#124; or {{tl|pipe}} | Displaying pipe characters inside of a parser function |- style="vertical-align:top" | <code><nowiki>{{=}}</nowiki></code> '''(m)''' | <nowiki>=</nowiki> | &amp;#61; | Displaying equal signs inside of unnamed parameters (e.g. <code><nowiki>{{MyTemplate|1+1=2}}</nowiki></code> will assign <code>2</code> to <code><nowiki>{{{1+1|}}}</nowiki></code>; <code><nowiki>{{MyTemplate|1+1{{=}}2}}</nowiki></code> will do what you want) |- style="vertical-align:top" | {{tlx|!!}} | <nowiki>||</nowiki> | &amp;#124;&amp;#124; | Displaying a break between two table cells inside of a parser function |- style="vertical-align:top" | {{tlx|!(}} | {{!(}} | &amp;#91; | Displaying a bracket inside of an external link |- style="vertical-align:top" | {{tlx|)!}} | {{)!}} | &amp;#93; | Displaying a bracket inside of an external link |- style="vertical-align:top" | {{tlx|!((}} | {{!((}} | &amp;#91;&amp;#91; | Displaying a bracket inside of a link |- style="vertical-align:top" | {{tlx|))!}} | {{))!}} | &amp;#93;&amp;#93; | Displaying a bracket inside of a link |- style="vertical-align:top" | {{tlx|(}} | {{(}} | &amp;#123; | Escaping a single brace immediately next to a template or parser function to avoid turning it into a parameter |- style="vertical-align:top" | {{tlx|)}} | {{)}} | &amp;#125; | Escaping a single brace immediately next to a template or parser function to avoid turning it into a parameter |- style="vertical-align:top" | {{tlx|((}} | {{((}} | &amp;#123;&amp;#123; | Displaying open braces for a template without actually transcluding that template |- style="vertical-align:top" | {{tlx|))}} | {{))}} | &amp;#125;&amp;#125; | Displaying closed braces for a template without actually transcluding that template |- style="vertical-align:top" | {{tlx|(((}} | {{(((}} | &amp;#123;&amp;#123;&amp;#123; | Displaying a template parameter's open curly braces without actually using that variable |- style="vertical-align:top" | {{tlx|)))}} | {{)))}} | &amp;#125;&amp;#125;&amp;#125; | Displaying a template parameter's closed curly braces without actually using that variable |- style="vertical-align:top" | {{tlx|(!}} | <nowiki>{|</nowiki> | &amp;#123;&amp;#124; | Starting a table inside of a parser function |- style="vertical-align:top" | {{tlx|!-}} | <nowiki>|-</nowiki> | &amp;#124;&amp;#45; | Starting a new table row inside of a parser function |- style="vertical-align:top" | {{tlx|!)}} | <nowiki>|}</nowiki> | &amp;#124;&amp;#125; | Closing a table inside of a parser function |}<includeonly> [[Category:Formatting templates]] </includeonly><noinclude>[[Category:Template documentation]]</noinclude> 9e1eb11bc0644d97b4cc9bc4445c3f0bacdd339d Template:!( 10 38 46 2025-05-10T19:27:21Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [<noinclude> {{documentation}}</noinclude> 1b058774deae9a7e511a0486a04647d6a3b9af62 Template:!(/doc 10 39 47 2025-05-10T19:27:22Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:)! 10 40 48 2025-05-10T19:27:22Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki ]<noinclude> {{documentation}}</noinclude> 016897dfd1af3b146bed2b47e7aa58c0bbf6f23d Template:)!/doc 10 41 49 2025-05-10T19:27:23Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:!(( 10 42 50 2025-05-10T19:27:23Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[<noinclude> {{documentation}}</noinclude> a331374acf15177afbb3ffc0ec7bd5ada14c582e Template:!((/doc 10 43 51 2025-05-10T19:27:24Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:))! 10 44 52 2025-05-10T19:27:24Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki ]]<noinclude> {{documentation}}</noinclude> 3d84066ce45d0c1fca0bb04608a4e73c6ea54324 Template:))!/doc 10 45 53 2025-05-10T19:27:24Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:Navbox 10 46 54 2025-05-10T19:27:25Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{#invoke:Navbox|main}}</includeonly><noinclude>[[Category:Navigation templates]] {{documentation}}</noinclude> 11355a4514de8aa6c0ae686240591d267101c58c Template:Navbox/doc 10 47 55 2025-05-10T19:27:25Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{no direct use}} {{UsesLua|Navbox}} This template is designed to set up navigational templates relatively quickly with one or more lists of links. We highly recommend using this template for standardizing navigational templates and ease of use, especially for mobile devices. See [[support:RANGER navboxes|the support wiki]] for more information, including installation steps and further examples. == Basic example == The following example demonstrates the core functionality of this template: the title text, one standard link group, and one link group that contains two sub-groups. The rows are striped for easier readability. {{Navbox | title = Items | striped = even | group1 = Consumables | list1 = * Health Potion * Mana Potion | group2 = Weapons | group2.1 = Swords | list2.1 = * Wooden Sword * Rusted Sword * Steel Sword | group2.2 = Bows | list2.2 = * Shortbow * Crossbow * Longbow }} <syntaxhighlight lang="wikitext" style="overflow: auto;"> {{Navbox | template = <template_title> <!-- Required. e.g. `|template=Items` for template:Items --> | title = Items | striped = even | group1 = Consumables | list1 = * Health Potion * Mana Potion | group2 = Weapons | group2.1 = Swords | list2.1 = * Wooden Sword * Rusted Sword * Steel Sword | group2.2 = Bows | list2.2 = * Shortbow * Crossbow * Longbow }} </syntaxhighlight> == Parameters == === Main === The following parameters modify the navbox as a whole. {| class="wikitable" ! Parameter ! Description |- ! <code>template</code><br><code>name</code> | ('''Required''') Title of the template that the edit icon links to. e.g. <code>Items</code> for template:Items. |- ! <code>title</code> | Text that appears at the top of the navbox. |- ! <code>state</code><br><code>collapsible</code> | Controls if a navbox should be expanded or collapsed when the page loads. This only affects the whole navbox; if [[#Sections|sections]] are used, they are treated differently. * <code>expanded</code> ('''default''') - the navbox will start open and readers can collapse it. * <code>collapsed</code> - the navbox will start closed and readers can expand it. * <code>off</code>, <code>no</code>, or <code>plain</code> - the navbox will start open and cannot be collapsed. Advanced users can modify this on a page-by-page basis; see [[support:RANGER navboxes#Controlling the collapsible|the support wiki]] for more information. |- ! <code>editlinks</code> | Controls if an edit icon should be displayed at the top-left of the navbox, making it easier for users to interact with the template itself. * unset ('''default''') - displays the edit icon * <code>off</code> or <code>no</code> - hides the edit icon |- ! <code>above</code> | Text that appears above all list groups, directly below the title. |- ! <code>below</code> | Text that appears below all list groups, at the bottom of the navbox. |- ! <code>striped</code><br><code>evenodd</code> | Controls if the navbox rows should have zebra striping on even or odd rows, making it easier for users to distinguish two rows apart from each other. If [[#Sections|sections]] are used, each section resets the even/odd counter. *unset ('''default''') - all rows have the same background *<code>y</code>, <code>yes</code>, <code>on</code>, <code>striped</code>, or <code>even</code> - even-numbered rows are highlighted *<code>swap</code> or <code>odd</code> - odd-numbered rows are highlighted |} === Sections === The following parameters define sections within the navbox with their own titles. {| class="wikitable" ! Parameter ! Description |- ! <code>header''n''</code> | Text that appears at the top of the section, where ''n'' is any positive integer. If the value is set to two or more <code>-</code> (e.g. <code>--</code>, <code>-----</code>, etc.) the new section will have no header bar and cannot be collapsed. All groups and lists that are ''n'' or higher will appear in this section unless there is a higher <code>header''n''</code> later in the template. For example, if a navbox defines <code>header1</code> and <code>header4</code>, the first section will include <code>list1</code>, <code>list2</code>, and <code>list3</code> (and any of their sub-lists), while the second section will include all remaining lists starting at <code>list4</code> and their sub-lists. |- ! <code>header_state</code><br><code>state''n''</code> | <code>header_state</code> controls if all sections, by default, should be expanded or collapsed when the page loads. <code>state''n''</code> overrides <code>header_state</code> for the specific section defined by <code>header''n''</code> (where ''n'' is a matching integer). * <code>expanded</code> ('''default''') - the section will start open and readers can collapse it. * <code>collapsed</code> - the section will start closed and readers can expand it. * <code>off</code> or <code>plain</code> - the section will start open and cannot be collapsed. Advanced users can modify these on a page-by-page basis; see [[support:RANGER navboxes#Controlling the collapsible|the support wiki]] for more information. Both parameters have no effect on sections with headers set to two or more <code>-</code>, which are always expanded and cannot be collapsed. |} === List groups === The following parameters define the list groups. {| class="wikitable" ! Parameter ! Description |- ! <code>group''n''</code> | Text label for a list, which appears on the left on desktop or at the top on mobile, where ''n'' is any positive integer. This parameter is optional; if a <code>list''n''</code> does not have a matching <code>group''n''</code>, the list will take the full width on desktop. |- ! <code>list''n''</code> | A wikitext list, where ''n'' is any positive integer. |- ! <code>group''n''.''x''</code><br><code>group''n''.''x''.''y''</code><br>etc. | Text label for sub-lists that appear under <code>group''n''</code>, <code>group''n''.''x''</code>, etc. |- ! <code>list''n''.''x''</code><br><code>list''n''.''x''.''y''</code><br>etc. | Wikitext sub-lists. |} === Styling === The following parameters add inline styling or your custom CSS classes to specific elements of the navbox. To assist with text alignment, three default classes are available: <code>align-left</code>, <code>align-center</code>, and <code>align-right</code>. {| class="wikitable" ! Parameter ! Description |- ! <code>navbox_style</code><br><code>navbox_class</code> | Modifies the parent navbox element; <code>class</code> can be used as a shorthand for <code>navbox_class</code> Two default classes are available: *<code>pill</code> changes the links to pill-styled rather than dot-separated *<code>pill-mobile</code> only changes the links to pill-styled on mobile devices |- ! <code>title_style</code><br><code>title_class</code> | Modifies the title bar |- ! <code>above_style</code><br><code>above_class</code> | Modifies the <code>above</code> text row |- ! <code>below_style</code><br><code>below_class</code> | Modifies the <code>below</code> text row |- ! <code>header_style</code><br><code>header_class</code> | Modifies all section headers (''not'' the title bar) |- ! <code>header''n''_style</code><br><code>header''n''_class</code> | Modifies the specific section header ''n'' |- ! <code>section''n''_style</code><br><code>section''n''_class</code> | Modifies the container holding the section defined by a matching <code>header''n''</code> |- ! <code>group_style</code><br><code>group_class</code> | Modifies all base groups (<code>group''n''</code>), but ''not'' any subgroups (<code>group''n''.''x''</code>, etc.) |- ! <code>subgroup_style</code><br><code>subgroup_class</code> | Modifies all subgroups at all levels (<code>group''n''.''x''</code>, <code>group''n''.''x''.''y''</code>, etc.) |- ! <code>group''A''_style</code><br><code>group''A''_class</code> | Modifies the specific group ''A'', where ''A'' is any ''n'', ''n''.''x'', ''n''.''x''.''y'', etc. |- ! <code>list_style</code><br><code>list_class</code> | Modifies all lists. Note, in this context, "list" refers to the container of a <code>list''n''</code> parameter, not a <code>ul</code> or <code>ol</code> element inside the parameter |- ! <code>list''A''_style</code><br><code>list''A''_class</code> | Modifies the specific list ''A'', where ''A'' is any ''n'', ''n''.''x'', ''n''.''x''.''y'', etc. |} <noinclude>[[Category:Template documentation]]</noinclude> e35c990efd00644e63b9735d72ff65818357a1fb Template:( 10 48 56 2025-05-10T19:27:26Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {<noinclude> {{documentation}}</noinclude> 490a0c9c85eff213addd7272fe40f8627a637c75 Template:(/doc 10 49 57 2025-05-10T19:27:26Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:) 10 50 58 2025-05-10T19:27:27Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki }<noinclude> {{documentation}}</noinclude> 3bf19eb36f7371f1b4b61b8efbba67dfb0e8cfd4 Template:)/doc 10 51 59 2025-05-10T19:27:27Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:((( 10 52 60 2025-05-10T19:27:28Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{{<noinclude> {{documentation}}</noinclude> fa33084b57c1f33c82290de279827b973ab2fba8 Template:(((/doc 10 53 61 2025-05-10T19:27:28Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:))) 10 54 62 2025-05-10T19:27:28Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki }}}<noinclude> {{documentation}}</noinclude> 585d94f6fe636b77087dc0d06bfbe6cb69b29987 Template:)))/doc 10 55 63 2025-05-10T19:27:28Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:Documentation/doc 10 56 64 2025-05-10T19:27:29Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki Use {{tl|documentation}} inside of the <code><nowiki><noinclude></noinclude></nowiki></code> section on your template. Then create your template at the <code>/doc</code> subpage of your template. <noinclude>[[Category:Template documentation]]</noinclude> 055b0481a1967951c59f15a09b92767c90baa8dd Template:License/CC-BY-NC-ND 10 57 65 2025-05-10T19:27:29Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-NC-ND | icon = [[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]] | text = This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-NC-ND}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 4ed8a6372d14a167dd9d26f1ae865b1593b76604 66 65 2025-05-10T19:27:29Z ARTIFICER 564804 Protected "[[Template:License/CC-BY-NC-ND]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-NC-ND | icon = [[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]] | text = This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-NC-ND}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 4ed8a6372d14a167dd9d26f1ae865b1593b76604 Template:License/CC-BY-SA 10 58 67 2025-05-10T19:27:30Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-SA | icon = [[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]] | text = This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-SA}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 1e471ba76ef084e99bff87e9356d439d400f73de 68 67 2025-05-10T19:27:30Z ARTIFICER 564804 Protected "[[Template:License/CC-BY-SA]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-SA | icon = [[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]] | text = This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-SA}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 1e471ba76ef084e99bff87e9356d439d400f73de Template:License/fairuse 10 59 69 2025-05-10T19:27:31Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = fairuse | darkIcon = yes | icon = [[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]] | text = This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law]. }}</includeonly><noinclude> This template currently looks like: {{License/fairuse}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 3662b685c4d9fa43d4f9342fae34b2f43ba925ef 70 69 2025-05-10T19:27:31Z ARTIFICER 564804 Protected "[[Template:License/fairuse]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = fairuse | darkIcon = yes | icon = [[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]] | text = This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law]. }}</includeonly><noinclude> This template currently looks like: {{License/fairuse}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 3662b685c4d9fa43d4f9342fae34b2f43ba925ef Template:License 10 60 71 2025-05-10T19:27:31Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/{{{1|nolicense}}}|source={{{source|}}}}}</includeonly><noinclude>{{documentation}}</noinclude> 4b84fc940507f8fccb9c60b7f70b5a800a62fe59 72 71 2025-05-10T19:27:32Z ARTIFICER 564804 Protected "[[Template:License]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/{{{1|nolicense}}}|source={{{source|}}}}}</includeonly><noinclude>{{documentation}}</noinclude> 4b84fc940507f8fccb9c60b7f70b5a800a62fe59 Template:License/CC-PD 10 61 73 2025-05-10T19:27:32Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-PD | icon = [[File:CC-PD.svg|x50px|link=|Public Domain]] | text = This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide. }}</includeonly><noinclude> This template currently looks like: {{License/CC-PD}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 23b76ae521833f5a34f0bf73426a53aad8fa9923 74 73 2025-05-10T19:27:32Z ARTIFICER 564804 Protected "[[Template:License/CC-PD]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-PD | icon = [[File:CC-PD.svg|x50px|link=|Public Domain]] | text = This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide. }}</includeonly><noinclude> This template currently looks like: {{License/CC-PD}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 23b76ae521833f5a34f0bf73426a53aad8fa9923 Template:License/CC-SRR 10 62 75 2025-05-10T19:27:33Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-SRR | icon = [[File:CC-SRR.svg|link=|CC-Some Rights Reserved]] | text = This file is under the Creative Commons Some Rights Reserved License. }}</includeonly><noinclude> This template currently looks like: {{License/CC-SRR}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 1ce36d04e501144e6a089ff194fee2b82732e85a 76 75 2025-05-10T19:27:33Z ARTIFICER 564804 Protected "[[Template:License/CC-SRR]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-SRR | icon = [[File:CC-SRR.svg|link=|CC-Some Rights Reserved]] | text = This file is under the Creative Commons Some Rights Reserved License. }}</includeonly><noinclude> This template currently looks like: {{License/CC-SRR}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 1ce36d04e501144e6a089ff194fee2b82732e85a Template:License/CC-BY 10 63 77 2025-05-10T19:27:34Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY | icon = [[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]] | text = This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 49f4317b802ef04c92f4edc474581035768c252e 78 77 2025-05-10T19:27:34Z ARTIFICER 564804 Protected "[[Template:License/CC-BY]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY | icon = [[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]] | text = This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 49f4317b802ef04c92f4edc474581035768c252e Template:License/CC-BY-ND 10 64 79 2025-05-10T19:27:34Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-ND | icon = [[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]] | text = This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-ND}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> c77af748cb3aab2fce9bfd947149cb3e1ef0a3f0 80 79 2025-05-10T19:27:35Z ARTIFICER 564804 Protected "[[Template:License/CC-BY-ND]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-ND | icon = [[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]] | text = This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-ND}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> c77af748cb3aab2fce9bfd947149cb3e1ef0a3f0 Template:License/game 10 65 81 2025-05-10T19:27:35Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:rightsholder|<!-- *************************************** *************************************** Step 1/2 [required] Enter the name of the rightsholder, optionally with a link. Example without link: indie.io Example with a URL: [https://www.indie.io/ indie.io] Edit on the line below this************--> <!--Edit on the line above this******** *************************************** *************************************** -->}}<!-- continue to step 2 *************************************** *************************************** Step 2/2 [optional] Enter the TOS link. Example link: https://www.indie.io/terms-of-service -->{{#vardefine:tos|<!-- Edit on the line below this************--> <!--Edit on the line above this******** *************************************** *************************************** -->}}<!-- DON'T EDIT ANYTHING BELOW THIS -->{{License/template | source = {{{source|}}} | type = developer | darkIcon = yes | icon = [[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]] | text = {{#if:{{#var:rightsholder}}| <!-- Specific: -->This file is owned by {{#var:rightsholder}} and/or its licensors{{#if:{{#var:tos}}|, and is licensed under the {{#var:rightsholder}} [{{#var:tos}} Terms of Use]}}.<br/>All trademarks and registered trademarks present in the file are proprietary to {{#var:rightsholder}} and/or its licensors. | <!-- Generic: -->This file is owned by the applicable game studio and/or its licensors. }} }}</includeonly><noinclude> This template currently looks like: {{License/game}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> f1283ce43eda0d523b8e1f249ebc02470d957b34 82 81 2025-05-10T19:27:36Z ARTIFICER 564804 Protected "[[Template:License/game]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:rightsholder|<!-- *************************************** *************************************** Step 1/2 [required] Enter the name of the rightsholder, optionally with a link. Example without link: indie.io Example with a URL: [https://www.indie.io/ indie.io] Edit on the line below this************--> <!--Edit on the line above this******** *************************************** *************************************** -->}}<!-- continue to step 2 *************************************** *************************************** Step 2/2 [optional] Enter the TOS link. Example link: https://www.indie.io/terms-of-service -->{{#vardefine:tos|<!-- Edit on the line below this************--> <!--Edit on the line above this******** *************************************** *************************************** -->}}<!-- DON'T EDIT ANYTHING BELOW THIS -->{{License/template | source = {{{source|}}} | type = developer | darkIcon = yes | icon = [[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]] | text = {{#if:{{#var:rightsholder}}| <!-- Specific: -->This file is owned by {{#var:rightsholder}} and/or its licensors{{#if:{{#var:tos}}|, and is licensed under the {{#var:rightsholder}} [{{#var:tos}} Terms of Use]}}.<br/>All trademarks and registered trademarks present in the file are proprietary to {{#var:rightsholder}} and/or its licensors. | <!-- Generic: -->This file is owned by the applicable game studio and/or its licensors. }} }}</includeonly><noinclude> This template currently looks like: {{License/game}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> f1283ce43eda0d523b8e1f249ebc02470d957b34 Template:License/nolicense 10 66 83 2025-05-10T19:27:36Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = nolicense | icon = [[File:Warning-red.svg|50px|link=|No license has been selected.]] | text = Please select the proper license for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details. }}</includeonly><noinclude> This template currently looks like: {{License/nolicense}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 9ddcfb97af577d7f8454e20f985b9456e7a95c77 84 83 2025-05-10T19:27:36Z ARTIFICER 564804 Protected "[[Template:License/nolicense]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = nolicense | icon = [[File:Warning-red.svg|50px|link=|No license has been selected.]] | text = Please select the proper license for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details. }}</includeonly><noinclude> This template currently looks like: {{License/nolicense}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 9ddcfb97af577d7f8454e20f985b9456e7a95c77 Template:License/CC-BY-NC 10 67 85 2025-05-10T19:27:37Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-NC | icon = [[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]] | text = This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-NC}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 535d8d725e53a0e8f94922ed597baed1353cec21 86 85 2025-05-10T19:27:37Z ARTIFICER 564804 Protected "[[Template:License/CC-BY-NC]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-NC | icon = [[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]] | text = This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-NC}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 535d8d725e53a0e8f94922ed597baed1353cec21 Template:License/CC-BY-NC-SA 10 68 87 2025-05-10T19:27:37Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-NC-SA | icon = [[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]] | text = This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-NC-SA}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 385fc8e61d98dd5ed6d4fa25b0eacf17cbca1218 88 87 2025-05-10T19:27:38Z ARTIFICER 564804 Protected "[[Template:License/CC-BY-NC-SA]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC-BY-NC-SA | icon = [[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]] | text = This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC-BY-NC-SA}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 385fc8e61d98dd5ed6d4fa25b0eacf17cbca1218 Template:License/CC0 10 69 89 2025-05-10T19:27:38Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC0 | icon = [[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]] | text = This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC0}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> a6ae218b1382bcbe6f0e6e98ef272e4355dd7205 90 89 2025-05-10T19:27:38Z ARTIFICER 564804 Protected "[[Template:License/CC0]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = CC0 | icon = [[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]] | text = This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License]. }}</includeonly><noinclude> This template currently looks like: {{License/CC0}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> a6ae218b1382bcbe6f0e6e98ef272e4355dd7205 Template:License/doc 10 70 91 2025-05-10T19:27:39Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This template is to be used under a ''Licensing'' heading on file pages to denote the file's license. == Available licenses == === Game === * Usage: <nowiki>{{License|game}}</nowiki> {{License|game}} === Fairuse === * Usage: <nowiki>{{License|fairuse}}</nowiki> {{License|fairuse}} === CC0 === * Usage: <nowiki>{{License|CC0}}</nowiki> {{License|CC0}} === CC-BY-NC-ND === * Usage: <nowiki>{{License|CC-BY-NC-ND}}</nowiki> {{License|CC-BY-NC-ND}} === CC-BY-NC-SA === * Usage: <nowiki>{{License|CC-BY-NC-SA}}</nowiki> {{License|CC-BY-NC-SA}} === CC-BY-NC === * Usage: <nowiki>{{License|CC-BY-NC}}</nowiki> {{License|CC-BY-NC}} === CC-BY-ND === * Usage: <nowiki>{{License|CC-BY-ND}}</nowiki> {{License|CC-BY-ND}} === CC-BY-SA === * Usage: <nowiki>{{License|CC-BY-SA}}</nowiki> {{License|CC-BY-SA}} === CC-BY === * Usage: <nowiki>{{License|CC-BY}}</nowiki> {{License|CC-BY}} === CC-PD === * Usage: <nowiki>{{License|CC-PD}}</nowiki> {{License|CC-PD}} === CC-SRR === * Usage: <nowiki>{{License|CC-SRR}}</nowiki> {{License|CC-SRR}} === Permission === * Usage: <nowiki>{{License|permission}}</nowiki> {{License|permission}} === No license === '''Providing no parameter (or invalid one) defaults to the nolicense notice:''' <nowiki>{{License}}</nowiki>{{License}} == Specifying source == '''Source parameter (optional):''' The source parameter accepts a url to the source where the file came from if necessary for attribution. Example: <nowiki>{{License|game|source=https://indie.io/}}</nowiki> {{License|game|source=https://indie.io/}} <includeonly> [[Category:License templates]] </includeonly> <noinclude>[[Category:Template documentation]]</noinclude> 5b334ee591fa6a0867f5d8e685e580b5b6c21334 Template:License/Fairuse 10 71 92 2025-05-10T19:27:39Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:License/fairuse]] ecb7db41961bb5256d571593ca3f90ae1e199a3e Template:Clear 10 72 93 2025-05-10T19:27:40Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <div style="clear:{{{1|both}}};" class={{{class|}}}></div><noinclude> {{documentation}} </noinclude> 5b24b9fd5cc166a8c486e2422d5df465206ed39c Template:Ml 10 73 94 2025-05-10T19:27:40Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <code>{{[[Module:{{{1}}}|{{{1}}}]]}}<sup>m</sup>{{#if:{{{2|}}}|.{{{2}}}()}}</code><noinclude> * <code><nowiki>{{Ml|Infobox}}</nowiki></code> generates {{Ml|Infobox}}. * <code><nowiki>{{Ml|ArgsUtil|merge}}</nowiki></code> generates {{Ml|ArgsUtil|merge}}. [[Category:Formatting templates]] </noinclude> 0c69bf8d7c3319f1cf2aa68f4b80261257291560 Template:(! 10 74 95 2025-05-10T19:27:40Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {|<noinclude>{{documentation}}</noinclude> 86e51fe1f06ae532410029eb39fa936d68880bc8 Template:!- 10 75 96 2025-05-10T19:27:41Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki |-<noinclude>{{documentation}}</noinclude> 636f9e440c24f4a3fe28b49cebd1808c3de8a814 Template:!) 10 76 97 2025-05-10T19:27:41Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki |}<noinclude>{{documentation}}</noinclude> b2debea163716e114d1ea46e65a63d7a1ae84bc0 Template:(!/doc 10 77 98 2025-05-10T19:27:42Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:!-/doc 10 78 99 2025-05-10T19:27:42Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:!)/doc 10 79 100 2025-05-10T19:27:42Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:Pipe 10 80 101 2025-05-10T19:27:43Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki &#124;<noinclude>{{documentation}}</noinclude> 9d1875aa686e4e25a0994448a39d057e91541788 Template:Pipe/doc 10 81 102 2025-05-10T19:27:43Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:!! 10 82 103 2025-05-10T19:27:43Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki ||<noinclude>{{documentation}}</noinclude> 02fb31115eef5c15d6612ac334bf5a5d83155c0a Template:!!/doc 10 83 104 2025-05-10T19:27:44Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:License/template 10 84 105 2025-05-10T19:27:44Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- --><div class="license {{{type|}}}" style="border: 1px solid var(--wiki-content-border-color); background: var(--wiki-content-background-color--secondary); align-items: center; padding: 5px; display: flex; gap: 1em;"> <div class="icon {{#if:{{{darkIcon|}}}|invert-on-dark}}">{{{icon|}}}</div> <div class="text">{{{text|}}}{{#if:{{{source|}}}|<br/><span class="source">Source:&nbsp;{{{source|}}}</span>}}{{{text2|}}}</div> </div><!-- --></includeonly><noinclude>{{documentation|Template:License/doc}}</noinclude> 7d0e694e6a42a5368b4b62ce6c01bfa2fb4e67b8 106 105 2025-05-10T19:27:45Z ARTIFICER 564804 Protected "[[Template:License/template]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly><!-- --><div class="license {{{type|}}}" style="border: 1px solid var(--wiki-content-border-color); background: var(--wiki-content-background-color--secondary); align-items: center; padding: 5px; display: flex; gap: 1em;"> <div class="icon {{#if:{{{darkIcon|}}}|invert-on-dark}}">{{{icon|}}}</div> <div class="text">{{{text|}}}{{#if:{{{source|}}}|<br/><span class="source">Source:&nbsp;{{{source|}}}</span>}}{{{text2|}}}</div> </div><!-- --></includeonly><noinclude>{{documentation|Template:License/doc}}</noinclude> 7d0e694e6a42a5368b4b62ce6c01bfa2fb4e67b8 Template:* 10 85 107 2025-05-10T19:27:45Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki &nbsp;&bull;&nbsp;<noinclude> {{doc}} [[Category:Formatting templates]] </noinclude> 81a7f0051da7b8f4a0548d91c5eb429a974fac91 Template:*/doc 10 86 108 2025-05-10T19:27:45Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This is the '''bullet''' template; it looks like this: [&nbsp;&bull;&nbsp;] It works similarly to the HTML markup sequence: [<code>'''&amp;nbsp;&amp;bull;&amp;nbsp;'''</code>], that is, a non-breaking space, a bullet and a non-breaking space. This template is used when you want a larger bullet than a bold middot ['''&middot;'''], but something smaller than an en dash [&ndash;]. <noinclude>[[Category:Template documentation]]</noinclude> ea04fe63a10dc333ed9c48bfc397debb11682f1e Template:Key 10 87 109 2025-05-10T19:27:46Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:platform | {{#if: {{{2|}}} | {{#switch: {{lc:{{{1|}}}}} <!-- Desktop --> |mouse |keyboard=keyboard <!-- Mobile --> |gesture=gesture <!-- Microsoft --> |xboxseries |xbox=Xbox |xbox one |xbone |xbox1 |xboxone=xboxone |xbox 360 |xb360 |xbox360 |360=360 <!-- Sony --> |ps |ps5 |playstation |ds |dualsense=DualSense |playstation 4 |ps4=PS4 |playstation 3 |ps3=ps3 <!-- Nintendo --> |ns |switch=Switch |wii=wii }} | undefined }} }}<!-- -->{{#vardefine:key | {{#if: {{{2|}}} | {{ucfirst:{{{2}}}}} | {{ucfirst:{{{1}}}}} }} }}<!-- -->{{#vardefine:img | {{#if: {{{2|}}} | [[File:{{#var:platform}} {{#var:key}}.png|x25px|link=]] }} | Undefined }}<!-- --><span class="key">{{#var:img}}</span><!-- --></includeonly><!-- --><noinclude>{{doc}}</noinclude> 45576cb62a8104687b5b7ac26b042283c80ecae6 Template:Key/doc 10 88 110 2025-05-10T19:27:46Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <tabber> |-|Desktop={{:Template:Key/doc/Keyboard}} |-|Mobile={{:Template:Key/doc/Gesture}} |-|Xbox={{:Template:Key/doc/Xbox}} |-|DualSense={{:Template:Key/doc/DualSense}} |-|PlayStation 4={{:Template:Key/doc/PS4}} |-|Nintendo Switch={{:Template:Key/doc/Nintendo Switch}} </tabber> <noinclude>[[Category:Key template documentation]]</noinclude> 19eb9be1ca2c7112f63dd11c58d3888327dcca75 Template:Key/doc/Gesture 10 89 111 2025-05-10T19:27:46Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki Images source: [[dev:Category:Gesture input images]] === Fingers === <code><nowiki>{{key|gesture|Finger Front}}</nowiki></code> {{key|gesture|Finger Front}} <code><nowiki>{{key|gesture|Finger Side}}</nowiki></code> {{key|gesture|Finger Side}} === Tap & hold === <code><nowiki>{{key|gesture|Tap}}</nowiki></code> {{key|gesture|Tap}} <code><nowiki>{{key|gesture|Double Tap}}</nowiki></code> {{key|gesture|Double Tap}} <code><nowiki>{{key|gesture|Hold}}</nowiki></code> {{key|gesture|Hold}} === Swipe motions === <code><nowiki>{{key|gesture|Swipe Bottom Left}}</nowiki></code> {{key|gesture|Swipe Bottom Left}} <code><nowiki>{{key|gesture|Swipe Bottom Right}}</nowiki></code> {{key|gesture|Swipe Bottom Right}} <code><nowiki>{{key|gesture|Swipe Down}}</nowiki></code> {{key|gesture|Swipe Down}} <code><nowiki>{{key|gesture|Swipe Left}}</nowiki></code> {{key|gesture|Swipe Left}} <code><nowiki>{{key|gesture|Swipe Right}}</nowiki></code> {{key|gesture|Swipe Right}} <code><nowiki>{{key|gesture|Swipe Top Left}}</nowiki></code> {{key|gesture|Swipe Top Left}} <code><nowiki>{{key|gesture|Swipe Top Right}}</nowiki></code> {{key|gesture|Swipe Top Right}} <code><nowiki>{{key|gesture|Swipe Up}}</nowiki></code> {{key|gesture|Swipe Up}} === Zoom & scroll === <code><nowiki>{{key|gesture|Zoom In}}</nowiki></code> {{key|gesture|Zoom In}} <code><nowiki>{{key|gesture|Zoom Out}}</nowiki></code> {{key|gesture|Zoom Out}} <code><nowiki>{{key|gesture|Scroll Down}}</nowiki></code> {{key|gesture|Scroll Down}} <code><nowiki>{{key|gesture|Scroll Left}}</nowiki></code> {{key|gesture|Scroll Left}} <code><nowiki>{{key|gesture|Scroll Right}}</nowiki></code> {{key|gesture|Scroll Right}} <code><nowiki>{{key|gesture|Scroll Up}}</nowiki></code> {{key|gesture|Scroll Up}} === Circular motions === <code><nowiki>{{key|gesture|Double Rotate}</nowiki></code> {{key|gesture|Double Rotate}} <code><nowiki>{{key|gesture|Full Circle}}</nowiki></code> {{key|gesture|Full Circle}} <code><nowiki>{{key|gesture|Half Circle}}</nowiki></code> {{key|gesture|Half Circle}} <code><nowiki>{{key|gesture|Quarter Circle}}</nowiki></code> {{key|gesture|Quarter Circle}} __NOTOC__ <noinclude>[[Category:Key template documentation]]</noinclude> 0a595b125cc6dbd6ad531c1e989d1929eaf1c6e2 Template:Key/doc/PS4 10 90 112 2025-05-10T19:27:47Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki Images source: [[dev:Category:PS4 input images]] === D-pad & sticks === <code><nowiki>{{key|PS4|Dpad}}</nowiki></code> {{key|PS4|Dpad}} <code><nowiki>{{key|PS4|Left}}</nowiki></code> {{key|PS4|Left}} <code><nowiki>{{key|PS4|Right}}</nowiki></code> {{key|PS4|Right}} <code><nowiki>{{key|PS4|Up}}</nowiki></code> {{key|PS4|Up}} <code><nowiki>{{key|PS4|Down}}</nowiki></code> {{key|PS4|Down}} <code><nowiki>{{key|PS4|Left Stick}}</nowiki></code> {{key|PS4|Left Stick}} <code><nowiki>{{key|PS4|Right Stick}}</nowiki></code> {{key|PS4|Right Stick}} <code><nowiki>{{key|PS4|Touch Pad}}</nowiki></code> {{key|PS4|Touch Pad}} === Front buttons === <code><nowiki>{{key|PS4|Circle}}</nowiki></code> {{key|PS4|Circle}} <code><nowiki>{{key|PS4|Cross}}</nowiki></code> {{key|PS4|Cross}} <code><nowiki>{{key|PS4|Square}}</nowiki></code> {{key|PS4|Square}} <code><nowiki>{{key|PS4|Triangle}}</nowiki></code> {{key|PS4|Triangle}} <code><nowiki>{{key|PS4|Share}}</nowiki></code> {{key|PS4|Share}} <code><nowiki>{{key|PS4|Options}}</nowiki></code> {{key|PS4|Options}} === Rear buttons === <code><nowiki>{{key|PS4|L1}}</nowiki></code> {{key|PS4|L1}} <code><nowiki>{{key|PS4|R1}}</nowiki></code> {{key|PS4|R1}} <code><nowiki>{{key|PS4|L2}}</nowiki></code> {{key|PS4|L2}} <code><nowiki>{{key|PS4|R2}}</nowiki></code> {{key|PS4|R2}} <noinclude>[[Category:Key template documentation]]</noinclude> 1672e7f0dcd4db09545c96936cfbabcab681cfeb Template:Key/doc/Nintendo Switch 10 91 113 2025-05-10T19:27:47Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki Images source: [[dev:Category:Nintendo Switch input images]] === Nintendo Switch === <code><nowiki>{{Key|Switch|a}}</nowiki></code> {{Key|Switch|a}} <code><nowiki>{{Key|Switch|b}}</nowiki></code> {{Key|Switch|b}} <code><nowiki>{{Key|Switch|x}}</nowiki></code> {{Key|Switch|x}} <code><nowiki>{{Key|Switch|y}}</nowiki></code> {{Key|Switch|y}} <code><nowiki>{{Key|Switch|Left Stick}}</nowiki></code> {{Key|Switch|Left Stick}} <code><nowiki>{{Key|Switch|Right Stick}}</nowiki></code> {{Key|Switch|Right Stick}} <code><nowiki>{{Key|Switch|Left Stick Press}}</nowiki></code> {{Key|Switch|Left Stick Press}} <code><nowiki>{{Key|Switch|Right Stick Press}}</nowiki></code> {{Key|Switch|Right Stick Press}} <code><nowiki>{{Key|Switch|-}}</nowiki></code> {{Key|Switch|-}} <code><nowiki>{{Key|Switch|+}}</nowiki></code> {{Key|Switch|+}} <code><nowiki>{{Key|Switch|Capture}}</nowiki></code> {{Key|Switch|Capture}} <code><nowiki>{{Key|Switch|HOME}}</nowiki></code> {{Key|Switch|HOME}} <code><nowiki>{{Key|Switch|L}}</nowiki></code> {{Key|Switch|L}} <code><nowiki>{{Key|Switch|R}}</nowiki></code> {{Key|Switch|R}} <code><nowiki>{{Key|Switch|ZL}}</nowiki></code> {{Key|Switch|ZL}} <code><nowiki>{{Key|Switch|ZR}}</nowiki></code> {{Key|Switch|ZR}} === Pro Controller === <code><nowiki>{{Key|Switch|Pro Control Pad}}</nowiki></code> {{Key|Switch|Pro Control Pad}} <code><nowiki>{{Key|Switch|Pro Control Pad Left}}</nowiki></code> {{Key|Switch|Pro Control Pad Left}} <code><nowiki>{{Key|Switch|Pro Control Pad Right}}</nowiki></code> {{Key|Switch|Pro Control Pad Right}} <code><nowiki>{{Key|Switch|Pro Control Pad Up}}</nowiki></code> {{Key|Switch|Pro Control Pad Up}} <code><nowiki>{{Key|Switch|Pro Control Pad Down}}</nowiki></code> {{Key|Switch|Pro Control Pad Down}} === Joy-Con === <code><nowiki>{{Key|Switch|Directional Left}}</nowiki></code> {{Key|Switch|Directional Left}} <code><nowiki>{{Key|Switch|Directional Right}}</nowiki></code> {{Key|Switch|Directional Right}} <code><nowiki>{{Key|Switch|Directional Up}}</nowiki></code> {{Key|Switch|Directional Up}} <code><nowiki>{{Key|Switch|Directional Down}}</nowiki></code> {{Key|Switch|Directional Down}} ==== Diagrams ==== <code><nowiki>{{Key|Switch|Joy-Con}}</nowiki></code> {{Key|Switch|Joy-Con}} <code><nowiki>{{Key|Switch|Joy-Con Separate}}</nowiki></code> {{Key|Switch|Joy-Con Separate}} <code><nowiki>{{Key|Switch|Joy-Con Left}}</nowiki></code> {{Key|Switch|Joy-Con Left}} <code><nowiki>{{Key|Switch|Joy-Con Right}}</nowiki></code> {{Key|Switch|Joy-Con Right}} __NOTOC__ <noinclude>[[Category:Key template documentation]]</noinclude> 34ef402e3bd539920ee4247d68882ecb53fc6eda Template:Spoiler 10 92 114 2025-05-10T19:27:48Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- Base code written for Terraria Wiki: https://terraria.wiki.gg/wiki/Template:Spoiler NOTE: This template needs a JavaScript function in MediaWiki:Common.js or MediaWiki:Vector.js to work, as well as styling in MediaWiki:Common.css or MediaWiki:Vector.css for the related classes -->{{#vardefine:element|{{#if:{{{block|}}}|div|span}}}}<!-- --><{{#var:element}} class="spoiler-content {{{class|}}}" {{#if:{{{id|}}}|id="{{{id|}}}"}} {{#if:{{{css|{{{style|}}}}}}|style="{{{css|{{{style|}}}}}}"}}><{{#var:element}}>{{{1|}}}</{{#var:element}}></{{#var:element}}><!-- -->[[Category:Pages with spoilers]]<!-- --></includeonly><noinclude> {{doc}} [[Category:Formatting templates]] </noinclude> e5fe76807977a72099dd1f680fc399e02a790dd5 Template:Spoiler/doc 10 93 115 2025-05-10T19:27:48Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This template is used to mark text and other elements as spoilers. Users can click or optionally hover to reveal their content. == The hoverShowSpoilers gadget == Users can enable the <code>[[MediaWiki:Gadgets/hoverShowSpoilers|hoverShowSpoilers]]</code> gadget to make spoilers show on hover, not just on click. The code for this gadget can be found at [[MediaWiki:Gadgets/hoverShowSpoilers/main.css]]. == Examples == {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{spoiler|spoiler text}}</nowiki></code> (Click to toggle) || {{spoiler|spoiler text}} |- | <code><nowiki>{{spoiler|spoiler text with a [[Template:Navbox|link]]}}</nowiki></code> (Click to toggle) || {{spoiler|spoiler text with a [[Template:Navbox|link]]}} |- | <pre> {{spoiler|block=y|Really long spoiler that spans multiple lines It even has a bulleted list inside it: * Item a * Item b * [[Special:Random|Item c]] }}</pre> |{{spoiler|block=y|Really long spoiler that spans multiple lines It even has a bulleted list inside it: * Item a * Item b * [[Special:Random|Item c]] }} |} == Dependencies == For this template to work properly, you need the following: * The <code>spoilers</code> gadget with JavaScript code for toggling the <code>.spoiler</code> class on/off on click: ** [[MediaWiki:Gadgets/spoilers]] ** [[MediaWiki:Gadgets/spoilers/main.js]] * The <code>.spoiler-content</code> and any related classes, found in [[MediaWiki:Common.css]]. == Source == Base code adapted from [[wgg:terraria:Template:Spoiler|Template:Spoiler on Terraria Wiki]]. ==TemplateData== <templatedata> { "params": { "1": { "aliases": [ "text" ], "label": "Text", "description": "The text to be shown.", "example": "Character A died during the battle.", "type": "content", "required": true }, "hover": { "label": "Show on Hover?", "description": "Show spoiler text on mouse hover.", "example": "hover=yes", "type": "boolean", "default": "hover=no" }, "block": { "label": "Display as block?", "description": "If given, display the spoiler as a block instead of inline. Useful for long spoilers spanning multiple lines or using block-level elements like lists.", "example": "y", "type": "boolean", "suggested": true }, "class": { "label": "Class", "description": "A class or classes to apply to the spoiler", "type": "string" }, "id": { "label": "ID", "description": "A CSS ID to apply to the spoiler.", "type": "string" }, "style": { "description": "Inline CSS styles to pass in.", "type": "string", "aliases": [ "css" ], "label": "Style" } }, "description": "This template can be used to mark text as a spoiler.", "maps": { "1": {} }, "paramOrder": [ "1", "hover", "block", "class", "id", "style" ], "format": "inline" } </templatedata> <noinclude>[[Category:Template documentation]]</noinclude> bae231a84e57129ec12ba47e554ed42e76c185e0 Template:Link icon 10 94 116 2025-05-10T19:27:49Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{#vardefine:target|{{{1|}}}<!-- end vd -->}}<!-- -->{{#vardefine:display|{{#if:{{{2|}}}|{{{2}}}|{{{1}}}<!-- end if -->}}<!-- end vd -->}}<!-- -->{{#vardefine:iconSize|1.2em}}<!-- -->{{#vardefine:lineHeight|1lh}}<!-- -->{{#vardefine:fileExists|{{filepath:{{#var:target}} ({{{type}}}).png}}}}<!-- -->{{#ifeq: {{{2|}}} | notext <!-- start if notext -->|<span class="link-icon notext" style="--link-icon-size: {{#var:iconSize}}; --link-icon-line-height: {{#var:lineHeight}};"><!-- start notext icon element -->{{#if: {{#var:fileExists}} <!-- start icon if -->| <span class="regular">[[File:{{#var:target}} ({{{type}}}).png|link={{#var:target}}|alt=]]</span><!-- end regular icon -->| <span class="fallback">[[File:{{{1}}} ({{{type}}}).png|?]]</span><!-- end fallback icon (?) -->}}<!-- end icon if --></span><!-- end notext icon -->|<span class="link-icon" style="--link-icon-size: {{#var:iconSize}}; --link-icon-line-height: {{#var:lineHeight}};"><!-- start icon + text element -->{{#if: {{#var:fileExists}} <!-- start icon if -->| <span class="regular">[[File:{{#var:target}} ({{{type}}}).png|link={{#var:target}}|alt=]]</span><!-- end regular icon -->| <span class="fallback">[[File:{{{1}}} ({{{type}}}).png|?]]</span><!-- end fallback icon (?) -->}}&nbsp;<!-- end icon if --><span class="display-text">[[{{#var:target}}|{{#var:display}}]]</span><!-- end display text --></span> <!-- end icon + text element -->}}<!-- end if notext --></includeonly><noinclude>{{Documentation}}[[Category:Formatting templates]]</noinclude> a8fc86aa3dc0f0085e5d1236a47e8d04e8685684 Template:Link icon/doc 10 95 117 2025-05-10T19:27:49Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{No direct use}} == List of link icon templates == * {{tl|Character icon}} * {{tl|Item icon}} == Dependencies== For this template to work properly, you need the following: * The <code>.link-icon</code> class and any related classes, found in [[MediaWiki:Common.css]]. <noinclude>[[Category:Template documentation]]</noinclude> 654dfb540ea31a810ef53c3820862942e63b2e8a Template:I 10 96 118 2025-05-10T19:27:50Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Link icon]] 6ebdedb4de95efaa3e6ca27590e79aca674f2364 Template:Quote 10 97 119 2025-05-10T19:27:50Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- --><div class="quote"><!-- start quote wrapper --><div class="marks-wrapper"><!-- start marks wrapper --><div class="block"><!-- start quote block -->{{#if:{{{title|}}}|<div class="title">{{{title}}}</div>|}}<!-- -->{{#if:{{{text|{{{1|}}}}}}|<div class="text">{{{text|{{{1|}}}}}}</div>|}}<!-- --></div><!-- end quote block --></div><!-- end marks wrapper -->{{#if:{{{author|{{{2|}}}}}}|<div class="author">― {{#if:{{{authorpage|}}}| [[{{{authorpage}}}|{{{author|{{{2|}}}}}}]] | {{{author|{{{2|}}}}}} }}</div>|}}<!-- --></div><!-- -->[[Category:Pages with quotes]]</includeonly><noinclude>{{Documentation}}[[Category:Formatting templates]]</noinclude> 095258ceee92819a4e7b83c26fba3761bf9c41a9 Template:Item icon 10 98 120 2025-05-10T19:27:50Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Link icon|{{{1|}}}|{{{2|}}}|type=Item}}</includeonly><noinclude>{{documentation}}[[Category:Formatting templates]]</noinclude> 6564279e3808e659b8034ad4b96f4f9e9e498b57 Template:Item icon/doc 10 99 121 2025-05-10T19:27:51Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki == Summary == <templatedata> { "params": { "1": { "aliases": [ "page" ], "label": "Page Name", "description": "The name for the target page.", "example": "Page Name", "type": "wiki-page-name", "required": true }, "2": { "aliases": [ "label" ], "label": "Link Label", "description": "The text to the be displayed on the link icon's label.", "example": "Alternative Page Name", "type": "line" } }, "description": "Use this template to display an icon next to a page link.\n\nThis template assumes that each page has an icon uploaded at a specific location, namely \"File:Page Name (Item).png\".", "format": "inline" } </templatedata> == Examples == For the examples below, <code><nowiki>File:Mystic Feather (Item).png</nowiki></code> was used as the icon for a page called <code>Mystic Feather</code>. {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{Item icon|Mystic Feather}}</nowiki></code> || {{Item icon|Mystic Feather}} |- | <code><nowiki>{{Item icon|Mystic Feather|Mystic Feathers}}</nowiki></code> || {{Item icon|Mystic Feather|Mystic Feathers}} |- | <code><nowiki>{{Item icon|Mystic Feather|notext}}</nowiki></code> || {{Item icon|Mystic Feather|notext}} |- | <code><nowiki>{{Item icon|Missing Item}}</nowiki></code> (Missing Page Icon) || {{Item icon|Missing Item}} |} == Dependencies== For this template to work properly, you need the following: * The base {{tl|Link icon}} template. * The <code>.link-icon</code> class and any related classes, found in [[MediaWiki:Common.css]]. 4dfcab6f3d3c88596068607685645f29666f0141 Template:Character icon 10 100 122 2025-05-10T19:27:51Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Link icon|{{{1|}}}|{{{2|}}}|type=Character}}</includeonly><noinclude>{{documentation}}[[Category:Formatting templates]]</noinclude> 24bad84fd5dea93cab210dfd592fda86af09eb87 Template:Character icon/doc 10 101 123 2025-05-10T19:27:52Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki == Summary == <templatedata> { "params": { "1": { "aliases": [ "page" ], "label": "Page Name", "description": "The name for the target page.", "example": "Page Name", "type": "wiki-page-name", "required": true }, "2": { "aliases": [ "label" ], "label": "Link Label", "description": "The text to the be displayed on the link icon's label.", "example": "Alternative Page Name", "type": "line" } }, "description": "Use this template to display an icon next to a page link.\n\nThis template assumes that each page has an icon uploaded at a specific location, namely \"File:Page Name (Character).png\".", "format": "inline" } </templatedata> == Examples == For the examples below, <code><nowiki>File:Invisible Boy (Character).png</nowiki></code> was used as the icon for a page called <code>Invisible Boy</code>. {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{Character icon|Invisible Boy}}</nowiki></code> || {{Character icon|Invisible Boy}} |- | <code><nowiki>{{Character icon|Invisible Boy|The Invisible Boy}}</nowiki></code> || {{Character icon|Invisible Boy|The Invisible Boy}} |- | <code><nowiki>{{Character icon|Invisible Boy|notext}}</nowiki></code> || {{Character icon|Invisible Boy|notext}} |- | <code><nowiki>{{Character icon|Missing Boy}}</nowiki></code> (Missing Page Icon) || {{Character icon|Missing Boy}} |} == Dependencies== For this template to work properly, you need the following: * The base {{tl|Link icon}} template. * The <code>.link-icon</code> class and any related classes, found in [[MediaWiki:Common.css]]. 0999a706143c16f5ed970816e7825239cfce9547 Template:Quote/doc 10 102 124 2025-05-10T19:27:52Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki == Examples == {| class="wikitable" ! Code !! Result |- | <pre>{{Quote|text=Now is the winter of our discontent made glorious summer by this sun of York}}</pre> | {{Quote|text=Now is the winter of our discontent made glorious summer by this sun of York}} |- | <pre>{{Quote |title=Opening lines of ''Richard III'' |text=Now is the winter of our discontent made glorious summer by this sun of York}}</pre> | {{Quote |title=Opening lines of ''Richard III'' |text=Now is the winter of our discontent made glorious summer by this sun of York}} |- | <pre>{{Quote |title=Opening lines of ''Richard III'' |author=William Shakespeare |text=Now is the winter of our discontent made glorious summer by this sun of York}}</pre> | {{Quote |title=Opening lines of ''Richard III'' |author=William Shakespeare |text=Now is the winter of our discontent made glorious summer by this sun of York}} |- | <pre>{{Quote |title=Opening lines of ''Richard III'' |author=William Shakespeare |authorpage=wikipedia:William Shakespeare |text=Now is the winter of our discontent made glorious summer by this sun of York}}</pre> | {{Quote |title=Opening lines of ''Richard III'' |author=William Shakespeare |authorpage=wikipedia:William Shakespeare |text=Now is the winter of our discontent made glorious summer by this sun of York}} |- | <pre>{{Quote |author=William Shakespeare |authorpage=wikipedia:William Shakespeare |text=Now is the winter of our discontent made glorious summer by this sun of York}}</pre> | {{Quote |author=William Shakespeare |authorpage=wikipedia:William Shakespeare |text=Now is the winter of our discontent made glorious summer by this sun of York}} |} == Dependencies == For this template to work properly, you need the following: * The <code>.quote</code> and any related classes, found in [[MediaWiki:Common.css]]. <noinclude>[[Category:Template documentation]]</noinclude> == Template data (for Visual Editor) == <templatedata> { "params": { "title": { "label": "Title", "description": "If the quote has a title, put it here.", "example": "Richard III's soliloquy", "type": "line" }, "text": { "label": "Quoted Text", "description": "The quoted text to be displayed.", "example": "Now is the winter of our discontent made glorious summer by this sun of York", "type": "string", "required": true }, "author": { "label": "Quote's Author", "description": "The author of the displayed quote.", "example": "William Shakespeare", "type": "line", "suggested": true }, "authorpage": { "label": "Author's Page", "description": "If the quote's author has a page on the Wiki, put the page name here.", "example": "William Shakespeare (playwright)", "type": "wiki-page-name", "suggested": true } }, "description": "This template creates a styled block element for quotes.", "paramOrder": [ "text", "author", "authorpage", "title" ], "format": "block" } </templatedata> 8a10e77de70ff704435282ce0f2ba792a13404a5 Template:Hatnote 10 103 125 2025-05-10T19:27:53Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->[[Category:Pages with hatnotes]]<!-- --><div class="hatnote {{#if:{{{icon|}}}|icon}}">{{#if:{{{icon|}}}|[[File:{{{icon}}}|x22px]]<nowiki> </nowiki>}}{{{1|}}}</div><!-- --></includeonly><!-- --><noinclude>{{doc}}[[Category:Hatnote templates| ]]</noinclude> c239246055fdd6c2f4aa85033ba3e93b9baa4733 Template:Hatnote/doc 10 104 126 2025-05-10T19:27:53Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{No direct use}} == List of hatnote templates == * {{tl|Disambiguation}} * {{tl|Distinguish}} * {{tl|For}} * {{tl|Main}} == Dependencies == For this template to work properly, you need the following: * The <code>.hatnote</code> class, found in [[MediaWiki:Common.css]]. * The <code>--wiki-content-border-color--secondary</code> CSS variable, defined in [[MediaWiki:Common.css]]. <noinclude>[[Category:Template documentation]]</noinclude> 464f2f866befaf4cfa47f68ab0ad4f170c13463d Template:Disambiguation/doc 10 105 127 2025-05-10T19:27:54Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <templatedata> { "params": { "1": { "label": "Disambiguation Page", "description": "A custom disambiguation page name.", "example": "Disambiguation Page", "type": "wiki-page-name" }, "2": { "label": "Link Label", "description": "A label for the custom disambiguation page.", "example": "Alternative Page Name", "type": "line" }, "topic": { "label": "Custom Topic", "description": "In case {{PAGENAME}} does not describe the topic, this can be used to display a custom topic", "example": "a custom topic", "default": "{{PAGENAME}}", "type": "line" } }, "description": "This hatnote template is meant to be used at the top of an article to indicate the existence of a disambiguation page.", "paramOrder": [ "1", "2", "topic" ], "format": "inline" } </templatedata> == Examples == {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{Disambiguation}}</nowiki></code> || {{Disambiguation|topic=Example}} |- | <code><nowiki>{{Disambiguation|Special:Random|topic=Example}}</nowiki></code> || {{Disambiguation|Special:Random|topic=Example}} |- | <code><nowiki>{{Disambiguation|Special:Random|Page Label|topic=this particular topic}}</nowiki></code> || {{Disambiguation|Special:Random|Page Label|topic=this particular topic}} |} == Dependencies == For this template to work properly, you need the following: * The {{tl|Hatnote}} base template. * The <code>.hatnote</code> class, found in [[MediaWiki:Common.css]]. == Source == Roughly based on [[wikipedia:Template:About|Wikipedia's About Template]]. <noinclude>[[Category:Template documentation]]</noinclude> 5fce9c689120c57454571ff0e60a2cd447df5713 Template:Disambiguation 10 106 128 2025-05-10T19:27:54Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:topic|<!-- start vd -->{{#if:{{{topic|}}} | {{{topic}}} | {{PAGENAME}} }}<!-- end if -->}}<!-- end vd -->{{#vardefine:disambig|<!-- start vd -->{{#if:{{{1|}}}<!-- start custom disambig if -->|{{{1}}}<!-- start label if -->{{#if:{{{2|}}} | {{!}}{{{2}}} }}<!-- end label if -->|{{#var:topic}} (disambiguation)<!-- else; use regular disambig -->}}<!-- end custom disambig if -->}}<!-- end vd -->{{Hatnote|<!-- -->This page is about '''{{#var:topic}}'''. For other uses, see [[{{#var:disambig}}]].<!-- -->|icon=Disambig.svg<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{doc}}[[Category:Hatnote templates]]</noinclude> c4c62e7a1876492eb970ea182cf4ac0bcad97913 Template:Distinguish 10 107 129 2025-05-10T19:27:55Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:text|<!-- start vd -->{{#if:{{{text|}}} | {{{text}}} |<!-- start top if -->{{#if:{{{2|}}}<!-- if more than one page -->|[[{{{1}}}]]{{#if:{{{3|}}}<!-- start concat if -->|, [[{{{2}}}]] or [[{{{3}}}]]<!-- concat two -->|<nowiki> </nowiki>or [[{{{2}}}]]<!-- else; concat one -->}}<!-- end concat if -->|[[{{{1}}}]]<!-- else; one page only -->}}<!-- end custom disambig if -->}}<!-- end if -->}}<!-- end vd -->{{Hatnote|<!-- -->Not to be confused with {{#var:text}}.<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{doc}}[[Category:Hatnote templates]]</noinclude> 67ae5406ffd29bec56cfe7ad6527bb09a9733496 Template:Distinguish/doc 10 108 130 2025-05-10T19:27:55Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <templatedata> { "params": { "1": { "label": "Alternative", "description": "The alternative page.", "example": "Alternative Page", "type": "wiki-page-name", "suggested": true }, "2": { "label": "Second Alternative", "description": "A second alternative page.", "example": "Second Alternative Page", "type": "wiki-page-name" }, "3": { "label": "Third Alternative", "description": "A third alternative page.", "example": "Third Alternative Page", "type": "wiki-page-name" }, "text": { "label": "Alternative Text", "description": "Instead of using pages, you can provide a full alternative text. This parameter overrides other provided parameters.", "example": "the alternative page, [[Alternative Page]]", "type": "line" } }, "description": "This hatnote template is meant to be used to indicate possible alternatives to what the reader wants to find.", "paramOrder": [ "1", "2", "3", "text" ], "format": "inline" } </templatedata> == Examples == {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{Distinguish|Special:Uncategorizedpages}}</nowiki></code> || {{Distinguish|Special:Uncategorizedpages}} |- | <code><nowiki>{{Distinguish|Special:Uncategorizedpages|Special:Uncategorizedfiles}}</nowiki></code> || {{Distinguish|Special:Uncategorizedpages|Special:Uncategorizedfiles}} |- | <code><nowiki>{{Distinguish|Special:Uncategorizedpages|Special:Uncategorizedfiles|Special:Uncategorizedcategories}}</nowiki></code> || {{Distinguish|Special:Uncategorizedpages|Special:Uncategorizedfiles|Special:Uncategorizedcategories}} |- | <code><nowiki>{{Distinguish|Special:Uncategorizedpages{{!}}Page 1}}</nowiki></code> (Custom link label) || {{Distinguish|Special:Uncategorizedpages{{!}}Page 1}} |- | <code><nowiki>{{Distinguish|text = Page 1, another name for [[Special:Uncategorizedpages]]}}</nowiki></code> || {{Distinguish|text = Page 1, another name for [[Special:Uncategorizedpages]]}} |} == Dependencies == For this template to work properly, you need the following: * The {{tl|Hatnote}} base template. * The <code>.hatnote</code> class, found in [[MediaWiki:Common.css]]. == Source == Roughly based on [[wikipedia:Template:Distinguish|Wikipedia's Distinguish Template]]. <noinclude>[[Category:Template documentation]]</noinclude> 2a06ed576ae6479add20834628f9378c657cb4fb Template:For 10 109 131 2025-05-10T19:27:56Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:text|<!-- start vd -->{{#if:{{{3|}}}<!-- if more than one page -->|[[{{{2}}}]]{{#if:{{{4|}}}<!-- start concat if -->|, [[{{{3}}}]] and [[{{{4}}}]]<!-- concat two -->|<nowiki> </nowiki>and [[{{{3}}}]]<!-- else; concat one -->}}<!-- end concat if -->|[[{{{2}}}]]<!-- else; one page only -->}}<!-- end if -->}}<!-- end vd -->{{Hatnote|<!-- -->For {{{1}}}, see {{#var:text}}.<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{doc}}[[Category:Hatnote templates]]</noinclude> 1899e48855153617f7c0bf3087b781bc80f0395c Template:For/doc 10 110 132 2025-05-10T19:27:56Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <templatedata> { "params": { "1": { "label": "Topic", "description": "The topic the following pages are about.", "example": "more information", "type": "line", "required": true }, "2": { "label": "Related Page", "description": "A related page.", "example": "Related Page", "type": "wiki-page-name", "required": true }, "3": { "label": "Second Page", "description": "A second related page.", "example": "Second Related Page", "type": "wiki-page-name" }, "4": { "label": "Third Page", "description": "A third related page.", "example": "Third Related Page", "type": "wiki-page-name" } }, "description": "This hatnote template is meant to be used to show pages related to a topic the reader might want to visit.", "paramOrder": [ "1", "2", "3", "4" ], "format": "inline" } </templatedata> == Examples == {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{For|more information|Special:WantedPages}}</nowiki></code> || {{For|more information|Special:WantedPages}} |- | <code><nowiki>{{For|more information|Special:WantedPages|Special:UncategorizedPages}}</nowiki></code> || {{For|more information|Special:WantedPages|Special:UncategorizedPages}} |- | <code><nowiki>{{For|more information|Special:WantedPages|Special:UncategorizedPages|Special:UncategorizedCategories}}</nowiki></code> || {{For|more information|Special:WantedPages|Special:UncategorizedPages|Special:UncategorizedCategories}} |- | <code><nowiki>{{For|more information|Special:WantedPages{{!}}Page 1}}</nowiki></code> (Custom link label) || {{For|more information|Special:WantedPages{{!}}Page 1}} |} == Dependencies == For this template to work properly, you need the following: * The {{tl|Hatnote}} base template. * The <code>.hatnote</code> class, found in [[MediaWiki:Common.css]]. == Source == Roughly based on [[wikipedia:Template:For|Wikipedia's For Template]]. <noinclude>[[Category:Template documentation]]</noinclude> b2a30a9bf8acff259d5e86654a2de69c2d5e4fff Template:Main 10 111 133 2025-05-10T19:27:57Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:text|<!-- start vd -->{{#if:{{{2|}}}<!-- if more than one page -->|[[{{{1}}}]]{{#if:{{{3|}}}<!-- start concat if -->|, [[{{{2}}}]] and [[{{{3}}}]]<!-- concat two -->|<nowiki> </nowiki>and [[{{{2}}}]]<!-- else; concat one -->}}<!-- end concat if -->|[[{{{1}}}]]<!-- else; one page only -->}}<!-- end if -->}}<!-- end vd -->{{Hatnote|<!-- -->{{#if:{{{2|}}}|Main articles|Main article}}: {{#var:text}}<!-- -->}}<!-- --></includeonly><!-- --><noinclude>{{doc}}[[Category:Hatnote templates]]</noinclude> e02ac04db1bbce6b71a9aa8a5064182f662d8470 Template:Main/doc 10 112 134 2025-05-10T19:27:57Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <templatedata> { "params": { "1": { "label": "Article", "description": "A main article.", "example": "Article", "type": "wiki-page-name", "required": true }, "2": { "label": "Second Article", "description": "A second main article.", "example": "Second Article", "type": "wiki-page-name" }, "3": { "label": "Third Article", "description": "A third main article.", "example": "Third Article", "type": "wiki-page-name" } }, "description": "This hatnote template is meant to be in sections of an article mentioning information about another existing main article.", "paramOrder": [ "1", "2", "3" ], "format": "inline" } </templatedata> == Examples == {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{Main|Special:WantedPages}}</nowiki></code> || {{Main|Special:WantedPages}} |- | <code><nowiki>{{Main|Special:WantedPages#Section Title}}</nowiki></code> || {{Main|Special:WantedPages#Section Title}} |- | <code><nowiki>{{Main|Special:WantedPages|Special:UncategorizedPages}}</nowiki></code> || {{Main|Special:WantedPages|Special:UncategorizedPages}} |- | <code><nowiki>{{Main|Special:WantedPages|Special:UncategorizedPages|Special:UncategorizedCategories}}</nowiki></code> || {{Main|Special:WantedPages|Special:UncategorizedPages|Special:UncategorizedCategories}} |- | <code><nowiki>{{Main|Special:WantedPages{{!}}Page 1}}</nowiki></code> (Custom link label) || {{Main|Special:WantedPages{{!}}Page 1}} |} == Dependencies == This template requires the {{tl|Hatnote}} metatemplate. == Source == Roughly based on [[wikipedia:Template:For|Wikipedia's For Template]]. <noinclude>[[Category:Template documentation]]</noinclude> dd762adeece0f944821cb81ee14a8bd9cb539b22 Template:Ambox/doc 10 113 135 2025-05-10T19:27:58Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{#ifeq:{{ROOTPAGENAME}}|Ambox|"Ambox" is an abbreviation for '''A'''rticle '''m'''essage '''box'''. You can use amboxes in articles to indicate something important about the current page, often in the header.| This '''message template''' is an [[Template:Ambox|article message box]], or '''ambox'''. The documentation below discusses how to use each ambox provided by the wiki. }} == Premade amboxes == === Problem notice amboxes === These amboxes are used temporarily to notify other editors and visitors about a problem with an article. These amboxes support the following parameters: * <code>|tiny=</code>: If set to <code>yes</code>, the box will have less padding and the icon will be much smaller than default. * <code>|class=</code>: Any additional CSS classes to add to the ambox container element. * <code>|date=</code>: The date the ambox was added to the page. * <code>|nocat=</code>: If set to <code>yes</code>, no category will be added to the page. Use this only when creating documentation. '''Note:''' Premade amboxes need the base {{tl|Ambox}} template to work. {| class="wikitable" ! Code !! Result |- | {{tl|Cleanup}} || {{Cleanup|nocat=yes}} |- | {{tl|Delete}} || {{Delete|nocat=yes}} |- | {{tl|Merge|Example}} || {{Merge|Template:Ambox{{!}}Example|nocat=yes}} |- | {{tl|Move|Example}} || {{Move|Template:Ambox{{!}}Example|nocat=yes}} |- | {{tl|Split|Example}}<br/>{{tl|Split|Example 1|Example 2|Example 3}} || {{Split|Template:Ambox{{!}}Example|nocat=yes}} {{Split|Template:Ambox{{!}}Example 1|Template:Ambox{{!}}Example 2|Template:Ambox{{!}}Example 3|nocat=yes}} |- | {{tl|Stub}} || {{Stub|nocat=yes}} |- |} === Informational amboxes === These amboxes are intended as permanent fixtures to a page, to notify visitors about some piece of information relevant to the page. These amboxes support the following parameters in addition to any listed: * <code>|tiny=</code>: If set to <code>yes</code>, the box will have less padding and the icon will be much smaller than default. * <code>|class=</code>: Any additional CSS classes to add to the ambox container element. {| class="wikitable" ! Code !! Additional parameters !! Result |- | {{tl|Spoiler warning}} || || {{Spoiler warning|nocat=yes}} |- | {{tl|No direct use}} || || {{No direct use|nocat=yes}} |- | {{tl|Uses Lua}} || <code><nowiki>|1=</nowiki></code>, a comma-separated list of modules used || {{Uses Lua|nocat=yes}} |} === Optional parameters === You can use optional parameters to further customize a premade ambox. The example below is using <code>tiny=yes</code> and <code>date=01/01/2021</code>. {{Cleanup|tiny=yes|date=01/01/2021|nocat=yes}} == Creating a custom ambox == You can create additional ambox templates as needed using the following parameters: <pre> {{Ambox | color = The left border color. | icon = The icon image to be displayed. | title = The optional title. | message = The explanation text displayed. | tiny = If you want the tiny version of the ambox, fill the parameter with "yes". | date = An optional date of creation for the message. | class = An optional CSS class for the ambox. }} </pre> == Dependencies == For this template to work properly, you need the following: * <code>.ambox</code> and any related classes, found in [[MediaWiki:Common.css]]. <includeonly>[[Category:Notice templates]]</includeonly><noinclude>[[Category:Template documentation]]</noinclude> d4fda481c06177d59ff39364bf17e15d7f1adfbc Template:Cleanup 10 114 136 2025-05-10T19:27:58Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Ambox | color = gold | icon = Cleanup.svg | message = This page does not meet '''{{SITENAME}}'''<nowiki/>'s page quality standards. You can [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit it] to help fix grammar, formatting, or code issues. | tiny = {{{tiny|}}} | class = {{{class|}}} | date = {{{date|}}} }}<!-- -->{{#ifeq: {{lc:{{{nocat|}}}}} | yes ||[[Category:Pages in need of improvement]]}}</includeonly><!-- --><noinclude>{{Cleanup|nocat=yes}} {{doc|Template:Ambox/doc}}</noinclude> 9c9fb940d733227f74a7ce12720d22f569bd4d3e Template:Delete 10 115 137 2025-05-10T19:27:59Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Ambox | color = grey | icon = Delete.svg | title = Candidate for Deletion | message = This page lacks relevance for '''{{SITENAME}}''' and is a candidate for '''deletion'''. | tiny = {{{tiny|}}} | class = {{{class|}}} | date = {{{date|}}} }}<!-- -->{{#ifeq: {{lc:{{{nocat|}}}}} | yes ||[[Category:Candidates for deletion]]}}</includeonly><!-- --><noinclude>{{Delete|nocat=yes}} {{doc|Template:Ambox/doc}}</noinclude> 6c827de94518d7f5f1635b13425be0d0fb4078da Template:No direct use 10 116 138 2025-05-10T19:27:59Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{ambox|icon=Warning-red.svg|title=Don't call this template directly from any content page! |message=This template is intended to be used inside of another template. Then that template in turn may be used on content pages. |color=red |tiny={{{tiny|}}} |class={{{class|}}} }}</includeonly><noinclude>{{doc|Template:Ambox/doc}} [[Category:Notice templates]]</noinclude> 22c9c1b0d6c05220eb6d7ad84073f7d878b60b68 Template:UsesLua 10 117 139 2025-05-10T19:28:01Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Uses Lua]] 9675a92267565619bc6418ec4e88163985302408 Template:Cleanup/doc 10 118 140 2025-05-10T19:28:02Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Ambox/doc]] 286a3914c1d2770ff27394ac3d3f36a685542cb8 Template:Delete/doc 10 119 141 2025-05-10T19:28:02Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Ambox/doc]] 286a3914c1d2770ff27394ac3d3f36a685542cb8 Template:Spoiler warning 10 120 142 2025-05-10T19:28:02Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Ambox | color = red | icon = Warning-red.svg | title = Spoiler Warning | message = This page contains '''spoilers'''. View at your own discretion. | tiny = {{{tiny|}}} | class = {{{class|}}} }}<noinclude>{{doc|Template:Ambox/doc}}</noinclude> d46344bae30adce89ead1cf12e8c3ff904e95203 Template:Spoiler warning/doc 10 121 143 2025-05-10T19:28:03Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Ambox/doc]] 286a3914c1d2770ff27394ac3d3f36a685542cb8 Template:Uses Lua/doc 10 122 144 2025-05-10T19:28:03Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Ambox/doc]] 286a3914c1d2770ff27394ac3d3f36a685542cb8 Template:Stub 10 123 145 2025-05-10T19:28:03Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Ambox | color = gold | icon = Stub.svg | message = This page is a [[support:Stub|stub]]. You can help '''{{SITENAME}}''' by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding it]. | tiny = {{{tiny|}}} | class = {{{class|}}} | date = {{{date|}}} }}<!-- -->{{#ifeq: {{lc:{{{nocat|}}}}} | yes ||[[Category:Stubs]]}}</includeonly><!-- --><noinclude>{{Stub|nocat=yes}} {{doc|Template:Ambox/doc}}</noinclude> 1effeb7d6eb04a0b11c76b8bfa871703461c9344 Template:Stub/doc 10 124 146 2025-05-10T19:28:04Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:Ambox/doc]] 68bfb03f8f28c95443c7b1997f252c236bf87256 Template:NoDirectUse 10 125 147 2025-05-10T19:28:05Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:No direct use]] 8448af1f61f0d64a84806b006c70670d9296acde Template:No direct use/doc 10 126 148 2025-05-10T19:28:05Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:Ambox/doc]] 68bfb03f8f28c95443c7b1997f252c236bf87256 Template:Merge 10 127 149 2025-05-10T19:28:06Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Ambox | color = purple | icon = Merge.svg | message = It has been proposed that this page be [[support:Merge|merged]] with [[{{{1}}}]]. | tiny = {{{tiny|}}} | class = {{{class|}}} | date = {{{date|}}} }}<!-- -->{{#ifeq: {{lc:{{{nocat|}}}}} | yes ||[[Category:Candidates for merging]]}}</includeonly><!-- --><noinclude>{{Merge|Template:Merge|nocat=yes}} {{doc|Template:Ambox/doc}}</noinclude> 9975c110e793cc1943eac9ea8e62257d704ab853 Template:Merge/doc 10 128 150 2025-05-10T19:28:06Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Ambox/doc]] 286a3914c1d2770ff27394ac3d3f36a685542cb8 Template:Move 10 129 151 2025-05-10T19:28:07Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Ambox | color = darkorange | icon = Move.svg | message = It has been proposed that this page be moved to [[{{{1}}}]]. | tiny = {{{tiny|}}} | class = {{{class|}}} | date = {{{date|}}} }}<!-- -->{{#ifeq: {{lc:{{{nocat|}}}}} | yes ||[[Category:Candidates for moving]]}}</includeonly><!-- --><noinclude>{{Move|Template:Ambox{{!}}Example|nocat=yes}} {{doc|Template:Ambox/doc}}</noinclude> dc4fd9090208e453457d6d2df193b9a7ee3b562d Template:Move/doc 10 130 152 2025-05-10T19:28:07Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Ambox/doc]] 286a3914c1d2770ff27394ac3d3f36a685542cb8 Template:Split 10 131 153 2025-05-10T19:28:08Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- -->{{#vardefine:pages|<!-- start vd -->{{#if:{{{2|}}}<!-- if more than one page -->|new pages titled [[{{{1}}}]]{{#if:{{{3|}}}<!-- start concat if -->|, [[{{{2}}}]] and [[{{{3}}}]]<!-- concat two -->|<nowiki> </nowiki>and [[{{{2}}}]]<!-- else; concat one -->}}<!-- end concat if -->|a new page titled [[{{{1}}}]]<!-- else; one page only -->}}<!-- end if -->}}<!-- end vd -->{{Ambox | color = purple | icon = Split.svg | message = It has been proposed that this page be split into {{#var:pages}}. | tiny = {{{tiny|}}} | class = {{{class|}}} | date = {{{date|}}} }}<!-- -->{{#ifeq: {{lc:{{{nocat|}}}}} | yes ||[[Category:Candidates for splitting]]}}</includeonly><!-- --><noinclude>{{Split|Template:Ambox{{!}}Example|nocat=yes}} {{Split|Template:Ambox{{!}}Example 1|Template:Ambox{{!}}Example 2|Template:Ambox{{!}}Example 3|nocat=yes}} {{doc|Template:Ambox/doc}}</noinclude> 73f5044c8b972e18c3b7880f94b0644e4a0e6ac7 Template:Split/doc 10 132 154 2025-05-10T19:28:08Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Ambox/doc]] 286a3914c1d2770ff27394ac3d3f36a685542cb8 Template:Anchor 10 133 155 2025-05-10T19:28:09Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- --><span id="{{{1}}}"></span><!-- --></includeonly><!-- --><noinclude>{{doc}} [[Category:Navigation templates]]</noinclude> 08ccba46722925866447768d344bf540b0b55e79 Template:Anchor/doc 10 134 156 2025-05-10T19:28:09Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki == Summary == This template can be used to insert an invisible anchor (reference points) into a page that can later be used by internal wiki links. == Usage == To create a custom anchor, use <code><nowiki>{{Anchor|Anchor Name}}</nowiki></code> anywhere in the page. For example, if you create the anchor <code><nowiki>{{Anchor|Example Anchor}}</nowiki></code> in the page <code><nowiki>[[Example]]</nowiki></code>, you can access it through the internal link <code><nowiki>[[Example#Example Anchor]]</nowiki></code>. Remember that you can create a [[support:Redirect|redirect]] to this template so that you can call it more easily, such as with <code><nowiki>{{a|Anchor Name}}</nowiki></code>. <noinclude>[[Category:Template documentation]]</noinclude> 4b0ddb50416a354db262e62617d9b45056f4d526 Template:Key/doc/Xbox 10 135 157 2025-05-10T19:28:10Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki Images source: [[dev:Category:Xbox input images]] === Series & One === <code><nowiki>{{Key|Xbox|A}}</nowiki></code> {{Key|Xbox|A}} <code><nowiki>{{Key|Xbox|B}}</nowiki></code> {{Key|Xbox|B}} <code><nowiki>{{Key|Xbox|X}}</nowiki></code> {{Key|Xbox|X}} <code><nowiki>{{Key|Xbox|Y}}</nowiki></code> {{Key|Xbox|y}} <code><nowiki>{{Key|Xbox|Left Thumbstick}}</nowiki></code> {{Key|Xbox|Left Thumbstick}} <code><nowiki>{{Key|Xbox|Right Thumbstick}}</nowiki></code> {{Key|Xbox|Right Thumbstick}} <code><nowiki>{{Key|Xbox|Left Thumbstick Press}}</nowiki></code> {{Key|Xbox|Left Thumbstick Press}} <code><nowiki>{{Key|Xbox|Right Thumbstick Press}}</nowiki></code> {{Key|Xbox|Right Thumbstick Press}} <code><nowiki>{{Key|Xbox|LB}}</nowiki></code> {{Key|Xbox|LB}} <code><nowiki>{{Key|Xbox|RB}}</nowiki></code> {{Key|Xbox|RB}} <code><nowiki>{{Key|Xbox|View}}</nowiki></code> {{Key|Xbox|View}} <code><nowiki>{{Key|Xbox|Menu}}</nowiki></code> {{Key|Xbox|Menu}} <code><nowiki>{{Key|Xbox|Button}}</nowiki></code> {{Key|Xbox|Button}} === Xbox Series === <code><nowiki>{{Key|Xbox|D-pad}}</nowiki></code> {{Key|Xbox|D-pad}} <code><nowiki>{{Key|Xbox|D-pad Left}}</nowiki></code> {{Key|Xbox|D-pad Left}} <code><nowiki>{{Key|Xbox|D-pad Right}}</nowiki></code> {{Key|Xbox|D-pad Right}} <code><nowiki>{{Key|Xbox|D-pad Up}}</nowiki></code> {{Key|Xbox|D-pad Up}} <code><nowiki>{{Key|Xbox|D-pad Down}}</nowiki></code> {{Key|Xbox|D-pad Down}} <code><nowiki>{{Key|Xbox|LT}}</nowiki></code> {{Key|Xbox|LT}} <code><nowiki>{{Key|Xbox|RT}}</nowiki></code> {{Key|Xbox|RT}} <code><nowiki>{{Key|Xbox|Share}}</nowiki></code> {{Key|Xbox|Share}} ==== Diagram ==== <code><nowiki>{{Key|Xbox|Series Controller Diagram}}</nowiki></code> {{Key|Xbox|Series Controller Diagram}} === Xbox One === <code><nowiki>{{Key|Xbox|One D-pad}}</nowiki></code> {{Key|Xbox|D-pad}} <code><nowiki>{{Key|Xbox|One D-pad Left}}</nowiki></code> {{Key|Xbox|D-pad Left}} <code><nowiki>{{Key|Xbox|One D-pad Right}}</nowiki></code> {{Key|Xbox|D-pad Right}} <code><nowiki>{{Key|Xbox|One D-pad Up}}</nowiki></code> {{Key|Xbox|D-pad Up}} <code><nowiki>{{Key|Xbox|One D-pad Down}}</nowiki></code> {{Key|Xbox|D-pad Down}} <code><nowiki>{{Key|Xbox|One Left Trigger}}</nowiki></code> {{Key|Xbox|One Left Trigger}} <code><nowiki>{{Key|Xbox|One Right Trigger}}</nowiki></code> {{Key|Xbox|One Right Trigger}} ==== Diagram ==== <code><nowiki>{{Key|Xbox|One Controller Diagram}}</nowiki></code> {{Key|Xbox|One Controller Diagram}} __NOTOC__ <noinclude>[[Category:Key template documentation]]</noinclude> adce81e2e9eafcf930052a8993d3e5625665202e Template:Key/doc/DualSense 10 136 158 2025-05-10T19:28:10Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki Images source: [[dev:Category:DualSense input images]] === Buttons === <code><nowiki>{{Key|PS|Directional}}</nowiki></code> {{Key|PS|Directional}} <code><nowiki>{{Key|PS|Directional Left}}</nowiki></code> {{Key|PS|Directional Left}} <code><nowiki>{{Key|PS|Directional Right}}</nowiki></code> {{Key|PS|Directional Right}} <code><nowiki>{{Key|PS|Directional Up}}</nowiki></code> {{Key|PS|Directional Up}} <code><nowiki>{{Key|PS|Directional Down}}</nowiki></code> {{Key|PS|Directional Down}} <code><nowiki>{{Key|PS|Left Stick}}</nowiki></code> {{Key|PS|Left Stick}} <code><nowiki>{{Key|PS|Right Stick}}</nowiki></code> {{Key|PS|Right Stick}} <code><nowiki>{{Key|PS|Touch Pad}}</nowiki></code> {{Key|PS|Touch Pad}} <code><nowiki>{{Key|PS|Circle}}</nowiki></code> {{Key|PS|Circle}} <code><nowiki>{{Key|PS|Cross}}</nowiki></code> {{Key|PS|Cross}} <code><nowiki>{{Key|PS|Square}}</nowiki></code> {{Key|PS|Square}} <code><nowiki>{{Key|PS|Triangle}}</nowiki></code> {{Key|PS|Triangle}} <code><nowiki>{{Key|PS|Create}}</nowiki></code> {{Key|PS|Create}} <code><nowiki>{{Key|PS|Options}}</nowiki></code> {{Key|PS|Options}} <code><nowiki>{{Key|PS|L1}}</nowiki></code> {{Key|PS|L1}} <code><nowiki>{{Key|PS|R1}}</nowiki></code> {{Key|PS|R1}} <code><nowiki>{{Key|PS|L2}}</nowiki></code> {{Key|PS|L2}} <code><nowiki>{{Key|PS|R2}}</nowiki></code> {{Key|PS|R2}} <code><nowiki>{{Key|PS|L3}}</nowiki></code> {{Key|PS|L3}} <code><nowiki>{{Key|PS|R3}}</nowiki></code> {{Key|PS|R3}} <code><nowiki>{{Key|PS|Mute}}</nowiki></code> {{Key|PS|Mute}} <code><nowiki>{{Key|PS|PS}}</nowiki></code> {{Key|PS|PS}} === Diagram === <code><nowiki>{{Key|PS|Controller Diagram}}</nowiki></code> {{Key|PS|Controller Diagram}} <noinclude>[[Category:Key template documentation]]</noinclude> 84fa5123f9494d3572fef65e1aa63dd95ef476be Template:Gad 10 137 159 2025-05-10T19:28:11Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <code>Gadget-[[MediaWiki:Gadget-{{{1}}}|{{{1}}}]]</code><noinclude>[[Category:Formatting templates]]</noinclude> dd027468a6022472506b1fc2973d6299ec01e854 Template:From Wikipedia 10 138 160 2025-05-10T19:28:12Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{Ambox | color = darkblue | icon = Wikipedia.svg | title= This code is adapted from [[wikipedia:Main Page|Wikipedia]]. | message = For the original code, see the following pages: {{#arraymap:{{{1|}}}|,|%s|[[wikipedia:%s|%s]]}} | tiny = {{{tiny|}}} | class = {{{class|}}} }}</includeonly><noinclude>{{doc}}</noinclude> 0bb256ef5acc38fb0cfbdacc22e75aab89bd6e2c Template:!-! 10 139 161 2025-05-10T19:28:12Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki |-|<noinclude>{{documentation}}</noinclude> c634369c1e88b95ebe6a6d827cb32dc1e9c61fec Template:!-!/doc 10 140 162 2025-05-10T19:28:13Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:((/doc]] 509bb731d447456a18489848c8a1ce38feddabcc Template:Color 10 141 163 2025-05-10T19:28:14Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><span class="color">{{{1}}}&nbsp;<span class="color__splotch" style="background-color: {{{1}}};" title="{{{1}}}"></span></span>[[Category:Pages with colors]]</includeonly><noinclude> {{doc}} [[Category:Formatting templates]] </noinclude> 8d576236ad82770d3c04720d4ac105edcb835874 Template:Color/doc 10 142 164 2025-05-10T19:28:14Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This template creates a small color splotch with a given background color next to a plaintext color code. This is useful for previewing colors. ==Usage== {{tlx|color|<color>}} Where <code><color></code> is any valid [https://developer.mozilla.org/en-US/docs/Web/CSS/color_value CSS color]. ==Examples== <pre> My favorite color is {{color|darkgreen}} I think the current {{color|#6d8afb}} of links should be changed to a {{color|#6df4fb}} RGB is cool too, you can do {{color|rgb(128,255,128)}}, or even transparency with {{color|rgba(128,255,128,0.5)}}. </pre> Produces: My favorite color is {{color|darkgreen}} I think the current {{color|#6d8afb}} of links should be changed to a {{color|#6df4fb}} RGB is cool too, you can do {{color|rgb(128,255,128)}}, or even transparency with {{color|rgba(128,255,128,0.5)}}. <noinclude>[[Category:Template documentation]]</noinclude> cb66b177cf785e1b3f60e28e36852b253e4b3d82 Template:Example character infobox 10 143 165 2025-05-10T19:28:15Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{#invoke:Infobox|main <!-- See https://support.wiki.gg/wiki/DRUID_infoboxes for extra documentation --> <!-- the "kind" categorizes this type of infobox. For example, you might want to write `Character`, `Level`, or `Item`. --> <!-- This `kind` value should be unique to this template, and no other infobox template should have the same value --> |kind=example-1 <!-- You can almost certainly leave the separator alone, unless one of your *section names* has a comma in it --> |sep=, <!-- feel free to edit the 300px but mostly try to avoid changing this next line unless you are adding tabs --> |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} <!-- every infobox needs a |sections= parameter, which lists the groups of sections, in order top to bottom --> |sections=General Info, Stats <!-- for each section, specify the list of fields that you want to show up in that section, top to bottom --> <!-- empty fields (not specified on the content page) will not show up --> |General Info=Region,Element |Stats=Attack, HP, Armor, Attack Speed <!-- this field formats the `Attack Speed` parameter when it's specified by the content page, adding a % sign to the end of it. --> <!-- this is an optional operation to do, only do it if you need to provide some extra formatting --> |Attack Speed={{#if:{{{Attack Speed|}}}|{{{Attack Speed}}}%}} }}<!-- Here is the above code without comments for easier copy-pasting: {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=General Info, Stats |General Info=Region,Element |Stats=Attack, HP, Armor, Attack Speed |Attack Speed={{#if:{{{Attack Speed|}}}|{{{Attack Speed}}}%}} }} --></includeonly><noinclude> {{documentation}} [[Category:Infobox templates]]</noinclude> f49d0f82d5a212306ff66b8fee112ecf88123576 Template:Example character infobox/doc 10 144 166 2025-05-10T19:28:16Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <noinclude>Are you trying to edit [[Template:Example character infobox]]? If so, you may be in the wrong place - this is the '''documentation page''', not the template itself. To edit the template, please go here: {{fullurl:Template:Example character infobox|action=edit}} </noinclude>This is an example character infobox using the [[support:DRUID infoboxes|DRUID infoboxes]] framework. You can edit it, rename it, or delete it as desired. == Modify this template == To see how DRUID works, please '''edit this page'''! It has several comments explaining the different parts of how to make an infobox. == Copyable code for use on other content pages == If you want to create pages using this infobox, you can use the snippet below. Please understand, this code is for CONTENT PAGES ONLY!! It does not have anything to do with changing what the template supports. <syntaxhighlight lang="wikitext" style="overflow: auto;"> {{Example character infobox |title= |image= |Region= |Element= |Attack= |HP= |Armor= |Attack Speed= }} </syntaxhighlight><noinclude>[[Category:Template documentation]]</noinclude> cc625bd426cde7dbdfa16b8330ff21cd1ef2e942 Template:License/indie.io 10 145 167 2025-05-10T19:28:16Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = developer | darkIcon = yes | icon = [[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]] | text = This file is owned by [https://indie.io indie.io] and/or its licensors, and is licensed under the [https://indie.io indie.io] [https://www.indie.io/terms-of-service Terms of Use].<br/> All trademarks and registered trademarks present in the file are proprietary to [https://indie.io indie.io] and/or its licensors. }}</includeonly><noinclude> This template currently looks like: {{License/indie.io}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 49823bdf8d378ff755fa7b6493afde40f6a4e19a 168 167 2025-05-10T19:28:17Z ARTIFICER 564804 Protected "[[Template:License/indie.io]]" ([Edit=Allow only wiki.gg staff] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = developer | darkIcon = yes | icon = [[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]] | text = This file is owned by [https://indie.io indie.io] and/or its licensors, and is licensed under the [https://indie.io indie.io] [https://www.indie.io/terms-of-service Terms of Use].<br/> All trademarks and registered trademarks present in the file are proprietary to [https://indie.io indie.io] and/or its licensors. }}</includeonly><noinclude> This template currently looks like: {{License/indie.io}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 49823bdf8d378ff755fa7b6493afde40f6a4e19a Template:- 10 146 169 2025-05-10T19:28:17Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #REDIRECT [[Template:Clear]] 1a2aa4a9ba7478e54a2b21cbce68887ea297ea86 Template:Clear/doc 10 147 170 2025-05-10T19:28:18Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This template allows you to [https://developer.mozilla.org/en-US/docs/Web/CSS/clear clear] the left side, the right side, or both by adding <code>&lt;div style="clear:left/right/both;"&gt;&lt;/div&gt;</code> ==Usage== {{tlx|Clear}}: Makes content wait until existing content is completed in all columns. Often used to stop text from flowing next to unrelated images. An optional <code>class</code> parameter can additionally be given for custom functionality. To clear the left, simply put {{tlx|Clear|left}}. To clear the right, put {{tlx|Clear|right}}. To clear both sides, put {{tlx|Clear}}. This template can also be called with {{tlx|-}} for short. <templatedata> { "params": { "1": { "label": "Direction", "description": "Which direction to clear", "type": "string", "default": "both", "suggestedvalues": [ "left", "right", "both" ] }, "class": { "label": "Class", "description": "A class to give to the clear", "type": "string" } }, "description": "Clears the left, right, or both.", "format": "inline" } </templatedata> <noinclude> [[Category:Template documentation]] </noinclude> 30e700cb1ba6902a86860319bd230680193d3b04 Template:Discord 10 148 171 2025-05-10T19:28:18Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{#if:{{{1|{{{id|}}}}}}|<!-- -->{{#ifeq: {{lc:{{{full|}}}<!-- -->}} | yes<!-- display the full widget: -->|<div class="DiscordIntegrator" style="width: {{#or:{{{width|}}}|100%}}; height: {{#or:{{{height|}}}|300px}}" data-id="{{{1|{{{id}}}}}}" data-logged-in="{{{loggedIn}}}" data-theme="{{{theme|}}}" data-width="100%" data-height="100%"><!-- -->If you see this, your JavaScript might be disabled or DiscordIntegrator plugin isn't working. If the latter, please contact a wiki administrator.</div><!-- display only the small widget: -->|<div id="discord-compact-widget" data-id="{{{1|{{{id}}}}}}"></div><!-- -->}}<!-- case: id is not supplied -->|<strong class="error">DiscordIntegrator error: ID of the server isn't supplied.</strong> For instructions on how to find a Discord server ID, see [https://support.discord.com/hc/articles/206346498 this Discord Help Center article]<!-- -->}}</includeonly><!-- -->[[Category:Pages with Discord embeds]]<noinclude>{{Documentation}} [[Category:Templates]]</noinclude> 7d39c3a9d1b4eb8e95becaf418c16ec30cb9c077 Template:Discord/doc 10 149 172 2025-05-10T19:28:18Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This template allows you to either use [[support:DiscordCompact|DiscordCompact]] or [[support:DiscordWidget|DiscordWidget]] to display information about a certain Discord server. == Usage == In order to be able to show a Discord server widget on your wiki, first go to your Discord server and do the following: * Open the <code>Server Settings</code>, then go to the <code>Engagement</code> section. * Scroll down to <code>Server Widget</code>. * Enable the widget. * Copy the <code>Server ID</code>. Then, do the following depending on the type of widget you want to use (compact or full). === Compact widget (default) === {{main|support:DiscordCompact{{!}}DiscordCompact}} The compact widget is the default one. To use it, simply add the template with the server ID either as the '''first''' parameter or as the <code>id</code> parameter: * <code><nowiki>{{Discord|serverID}}</nowiki></code> * <code><nowiki>{{Discord|id=serverID}}</nowiki></code> === Full widget === {{main|support:DiscordWidget{{!}}DiscordWidget}} To use the full version of the Discord widget, you have to specify <code>full=yes</code> as one of the template parameters, with the ID either as the '''first''' parameter or as the <code>id</code> parameter: * <code><nowiki>{{Discord|serverID|full=yes}}</nowiki></code> * <code><nowiki>{{Discord|full=yes|id=serverID}}</nowiki></code> You can further customize the widget with the <code>width</code>, <code>height</code> and other parameters. See the Examples section and the full documentation for DiscordWidget on the [[support:DiscordWidget|Support Wiki]]. == Examples == {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{Discord|951501892553424917}}</nowiki></code><br/><code><nowiki>{{Discord|id=951501892553424917}}</nowiki></code> || {{Discord|951501892553424917}} |- | <code><nowiki>{{Discord|951501892553424917}|full=yes}</nowiki></code> || {{Discord|951501892553424917|full=yes}} |- | <pre><nowiki>{{Discord|full=yes |id = 951501892553424917 |width = 300px |height = 500px }}</nowiki></pre> || {{Discord|full=yes|id=951501892553424917|width=300px|height=500px}} |} == Dependencies == * As stated before, both Compact and Widget require the given Discord server to have Widgets enabled in its Server Settings. * Both Compact and Widget require the <code>discordTemplate</code> gadget: ** [[MediaWiki:Gadgets/discordTemplate]] ** [[MediaWiki:Gadgets/discordTemplate/main.js]] == TemplateData == <templatedata> { "params": { "1": { "aliases": [ "id" ], "label": "Server ID", "description": "The Discord server's ID.", "example": "951501892553424917", "type": "line", "required": true }, "full": { "label": "Use full widget", "example": "yes", "type": "boolean", "description": "Do you want to use the full widget?" }, "width": { "label": "Width (full widget only)", "description": "A custom width for the full widget.", "example": "300px", "type": "line" }, "height": { "label": "Height (full widget only)", "description": "A custom height for the full widget.", "example": "500px", "type": "line" } }, "description": "This template allows you to either use DiscordCompact or DiscordWidget to display information about a certain Discord server.", "paramOrder": [ "1", "full", "width", "height" ], "format": "block" } </templatedata> 2b1165b9383a06a5766054d0d38b8b045cf83b25 Template:Main page box/end 10 150 173 2025-05-10T19:28:19Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly></div> </div></includeonly><noinclude> {{doc}} [[Category:Main page templates]] </noinclude> 506617faba565eb65144b21c3ead8fe5c2010b55 Template:Main page box/start 10 151 174 2025-05-10T19:28:19Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><div class="mp-box <!-- These variables are used to determine if certain layouts should hide certain boxes. The variable is created in and passed from [[Module:Main page]], and is formatted as a pseudo bitmask to reduce variable usage An example of this variable would be "1,1,0," which would mean display on desktop and tablet but not on mobile -->{{#ifeq:{{#explode:{{#var:imp-variable-display-box}}|,|0}}|0|mp-hide-on-desktop}} <!-- -->{{#ifeq:{{#explode:{{#var:imp-variable-display-box}}|,|1}}|0|mp-hide-on-tablet}} <!-- -->{{#ifeq:{{#explode:{{#var:imp-variable-display-box}}|,|2}}|0|mp-hide-on-mobile}} <!-- -->{{{class|}}}" style="grid-area:{{#var:imp-variable-id}}; {{{style|}}}" id="mp-box-{{#var:imp-variable-id}}" data-box-id="{{#var:imp-variable-id}}"><!-- -->{{#if:{{{title|{{{1|}}}}}}| <h2> {{{title|{{{1|}}}}}} </h2> }}<div class="mp-body"></includeonly><noinclude> {{doc}} [[Category:Main page templates]] </noinclude> 62eedb503b63a36fc31a301f8ea6b15f6ff9bf60 Template:Main page box/preload 10 152 175 2025-05-10T19:28:20Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Main page box/start | title = $1 }} Content goes here, between the start and end templates. Feel free to use wikitext, tables, templates, new lines, whatever. {{Main page box/end}}<includeonly><no<noinclude></noinclude>include>[[Category:Main page boxes]]</no<noinclude></noinclude>include></includeonly><!-- don't edit this line --><noinclude> [[Category:Main page templates]] </noinclude> 9b16288e15e3c8c9ede76b4dc76e538d2253cf23 Template:Main page 10 153 176 2025-05-10T19:28:20Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{#invoke:Main page|main}} __NOTOC__ __NOEDITSECTION__ [[Category:{{SITENAME}}| ]]</includeonly><noinclude> {{doc}} [[Category:Main page templates]] </noinclude> 64a0dbb502a75c44e4b3f474772d8502bdf44e40 Template:Main page box/create 10 154 177 2025-05-10T19:28:20Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{#tag: inputbox | type = create width = 40 default = {{{1|}}} buttonlabel = Create this box prefix = {{#or:{{{rootpage|}}}|{{MediaWiki:Mainpage}}}}/ placeholder = box name (no spaces) preload = Template:Main page box/preload summary = Created using preload preloadparams[] = {{ucfirst:{{{1|Example}}}}} }}<noinclude>[[Category:Main page templates]]</noinclude> da58eca98a44a09e476c5b4a5cafde116b6cdac9 Template:Main page box 10 155 178 2025-05-10T19:28:21Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><code>Template:Main page box</code> is not intended to be used directly, please use [[Template:Main page box/start]] and [[Template:Main page box/end]].</includeonly><noinclude> This template is used to create the boxes of the IMProved Main Page (IMP) framework. '''It should not be called directly''', instead using {{tl|Main page box/start}} and {{tl|Main page box/end}}. <div style="text-align:center;"> Use the box below to create a page with the required templates already in place, ready for you to add your content. {{/create}} The box name can not contain spaces or start with a number. Those are probably the only restrictions you'll run into, but for a full list see [https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident <custom-ident> on MDN web docs]. </div> ==Parameters== These are the parameters used by {{tl|Main page box/start}}. All parameters are optional. {| class="wikitable" ! Name !! Data type !! Description |- | title || Wikitext || The title of the box. This can be empty, in which case the box will contain only the content. |- | class || CSS classes || A list of classes to be passed to the box, separated by spaces and without quotes. Standard options are <code>centered-content</code> to vertically center contents, and <code>has-floating-image</code> in case floating images are needed in the box (normally the flex layout disallows this). |- | style || CSS declarations || Inline CSS to be applied directly to the box, without quotes. A common usage is <code>text-align:center;</code> for cases where it's desired for individual boxes to have centered text. |} [[Category:Main page templates]] [[Category:Template documentation]] </noinclude> cbbd25d1eb0105a8be55d0cc174f385fc467ffad Template:Main page box/start/doc 10 156 179 2025-05-10T19:28:21Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki See [[Template:Main page box]] for information on how to use this. ==TemplateData== <templatedata> { "params": { "class": { "label": "Class", "description": "Additional classes to give to the box wrapping this box.", "example": "centered-content", "suggestedvalues": [ "centered-content", "has-floating-image" ] }, "style": { "label": "Style", "description": "Inline CSS to add to the box wrapping this box", "example": "text-align:center;", "type": "string" }, "title": { "aliases": [ "1" ], "label": "Title", "description": "The title of this box.", "example": "Welcome to the wiki!", "type": "content", "suggested": true } }, "description": "Creates a box for use on the main page.", "paramOrder": [ "title", "class", "style" ], "format": "block" } </templatedata> <noinclude>[[Category:Template documentation]]</noinclude> 860e1be8fbf205ab2b3214cb91860a77fd3ef52b Template:Main page box/end/doc 10 157 180 2025-05-10T19:28:21Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki See [[Template:Main page box]] for information on how to use this. <noinclude>[[Category:Template documentation]]</noinclude> e73182bed655118b10da971b634dc9c3bf3e3d39 Template:Main page/doc 10 158 181 2025-05-10T19:28:22Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This template is used to create an IMP Main Page. It uses [[Module:Main page]] to arrange a series of [[Template:Main page box]]es in a [https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout CSS grid]. ==Simple explanation== The layout is made using keywords arranged in a grid. This grid has 3 columns on desktop-width screens, 2 columns on tablet, and 1 on mobile. Each can have as many rows as you want. Each keyword represents the same section and can span multiple rows and/or columns, but ''must'' form a contiguous rectangle of any dimension (1x1, 1x2, 2x2, 2x3, etc.). For example, the following input to desktop: <pre style="display:table;"> welcome welcome welcome about links links about contribute contribute </pre> would produce a grid resembling the following: {| class="wikitable" | style="background-color:rgba(0,255,0,0.15)" | welcome | style="background-color:rgba(0,255,0,0.15)" | welcome | style="background-color:rgba(0,255,0,0.15)" | welcome |- | style="background-color:rgba(255,0,255, 0.15)" | about | style="background-color:rgba(0,0,255, 0.15)" | links | style="background-color:rgba(0,0,255, 0.15)" | links |- | style="background-color:rgba(255,0,255, 0.15)" | about | style="background-color:rgba(255,255,0, 0.15)" | contribute | style="background-color:rgba(255,255,0, 0.15)" | contribute |} Where <code>welcome</code> is the contents of [[{{MediaWiki:Mainpage}}/welcome]], <code>about</code> is the contents of [[{{MediaWiki:Mainpage}}/about]], and so on. See [[Template:Main page box]] for more information about creating your own boxes. If you enter a keyword that does not have a corresponding box already, you'll be prompted to create one when saving or previewing the page. If you leave a keyword out of a certain layout, it will not be displayed on that layout. A warning will be given at the top of the edit preview in case this was an accident, but can be safely ignored if intentional. For additional hints and information, see the comments that came on your main page or ask a wiki.gg staff member for help. ==Technical explanation== For the CSS savvy, this section explains how it works a bit under the hood. The input to desktop, tablet, and mobile create [https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties CSS variables] which are then used as the value of [https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas grid-template-areas] in media queries for screen widths >=1350px, >=990px, and <990px. The boxes are given an id based on their subpage name, which is then used by the module to find the template, as well as by the box templates to assign them a CSS id of <code>mp-box-<keyword></code>. Since these keywords are used directly in the grid layout, they must follow the rules of [https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident <custom-ident>] naming. ==Dependencies== For this template to work properly, you need the following: * [[Module:Main page]] * All templates in [[:Category:Main page templates]]. * All CSS within the "Main page layout" section found in [[MediaWiki:Common.css]]. The <code>[[MediaWiki:Gadgets/mpEditLinks|mpEditLinks]]</code> gadget is also highly recommended. Its code can be found at [[MediaWiki:Gadgets/mpEditLinks/main.css]] and [[MediaWiki:Gadgets/mpEditLinks/main.js]]. ==TemplateData== <templatedata> { "params": { "desktop": { "label": "Desktop", "description": "The layout for wide screens", "required": true, "type": "string" }, "tablet": { "label": "Tablet", "description": "The layout for mid-width screens", "required": true, "type": "string" }, "mobile": { "label": "Mobile", "description": "The layout for narrow screens", "required": true, "type": "string" } }, "description": "Creates an IMP Main Page.", "format": "block" } </templatedata> <noinclude>[[Category:Template documentation]]</noinclude> c5052ca4c6f9f0e1e2c0a81cea00e372d4bacdca Template:Ct 10 159 182 2025-05-10T19:28:22Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <code><nowiki>[</nowiki>[[Special:CargoTables/{{{1}}}|{{{1}}}]]<nowiki>]</nowiki>{{#if:{{{2|}}}|.{{{2}}}}}</code><noinclude> [[Category:Formatting templates]]</noinclude> d868545d4d3eeb1545e963d063199a68abba7836 Template:Main page box/missing 10 160 183 2025-05-10T19:28:23Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{Main page box/start | title = {{{1}}} | style = text-align:center; | class = missing }} The {{{1}}} box does not exist. Check your spelling or create it here:<br/> {{Main page box/create|{{{1|}}}|rootpage = {{{rootpage|}}}}}<br/> See [[Template:Main page box]] for more information. {{Main page box/end}}<noinclude>[[Category:Main page templates]]</noinclude> 5cff88dacf33c912d4aa04c1541e684a5f3e79bb Template:Iter 10 161 184 2025-05-10T19:28:23Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{#vardefine:varname|ITER_INDEX_{{#if:{{{1|}}}|{{{1}}}|default}}<!-- end vardefine -->}}<!-- main logic -->{{#vardefineecho:{{#var:varname}}| {{#expr: {{#ifeq:{{lc:{{{reset|}}}<!-- end lc -->}} |yes |0 |{{#var:{{#var:varname}}|0}} <!-- end ifeq -->}} + {{#if:{{{get|}}}|0|1}} <!-- end expr -->}} <!-- end vde -->}}</includeonly><noinclude>{{documentation}} [[Category:Templates]]</noinclude> c37a3625d58a115a140f129da248ec1c9f6cb55e Template:Iter/doc 10 162 185 2025-05-10T19:28:23Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This template helps you create indexed columns in tables (particularly [[support:Cargo|Cargo]] queries) and to retrieve iterator values when using the parser function <code><nowiki>{{#arraymaptemplate</nowiki></code> (bundled with Extension:ParserPower on wiki.gg). == Simple counting == <pre> * {{iter|}} * {{iter|}} * {{iter|}} * {{iter|}} </pre> * {{iter|}} * {{iter|}} * {{iter|}} * {{iter|}} == Reset the counter == <pre> * {{iter|reset=yes}} * {{iter|}} * {{iter|reset=yes}} * {{iter|}} </pre> * {{iter|reset=yes}} * {{iter|}} * {{iter|reset=yes}} * {{iter|}} == Multiple counters == <pre> * {{iter|key1}} * {{iter|key2}} * {{iter|key2}} * {{iter|key1}} </pre> * {{iter|key1}} * {{iter|key2}} * {{iter|key2}} * {{iter|key1}} == Get value without incrementing == <pre> * {{iter|reset=yes}} * {{iter|}} * {{iter|}} * {{iter|get=yes}} </pre> * {{iter|reset=yes}} * {{iter|}} * {{iter|}} * {{iter|get=yes}} <noinclude> [[Category:Template documentation]] </noinclude> 20b5a53a6457493d2a2a9774b803511678a65760 Template:License/permission 10 163 186 2025-05-10T19:28:24Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = permission | icon = [[File:IN COPYRIGHT.svg|50px|link=|IN COPYRIGHT WITH PERMISSION]] | text = This file is copyrighted. The copyright holder has given permission for its use on wiki.gg. }}</includeonly><noinclude> This template currently looks like: {{License/permission}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 854af75c8477c36c50cb5d103ad8a933892fc322 187 186 2025-05-10T19:28:24Z ARTIFICER 564804 Protected "[[Template:License/permission]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly>{{License/template | source = {{{source|}}} | type = permission | icon = [[File:IN COPYRIGHT.svg|50px|link=|IN COPYRIGHT WITH PERMISSION]] | text = This file is copyrighted. The copyright holder has given permission for its use on wiki.gg. }}</includeonly><noinclude> This template currently looks like: {{License/permission}} See {{tl|License}} for full license documentation [[Category:License templates]]</noinclude> 854af75c8477c36c50cb5d103ad8a933892fc322 Template:Flag 10 164 188 2025-05-10T19:28:25Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly><!-- --><span class="country-flag" title="{{{2|}}}">{{#if: {{{1|}}} | [[File:Flag {{{1|}}}.svg|x20px|link=]] | }}</span><!-- --></includeonly><!-- --><noinclude>{{doc}}[[Category:Formatting templates]]</noinclude> 9802f61bee0e36120c835608ccee85e72384341b Template:Flag/doc 10 165 189 2025-05-10T19:28:25Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This formatting template allows you to display country flags inline. Available country flags can be seen in [[dev:Category:Country_flags|our Commons Wiki]]. == Usage == The template can be used with the following formatting: <code><nowiki>{{flag|code|Legend}}</nowiki></code>, where: * <code>code</code> is the [[wikipedia:ISO 3166-1 alpha-2|ISO 3166-1 alpha-2]] code for the country flag. * <code>Legend</code> is the legend displayed on hover (optional). == Examples == {| class="wikitable" ! Code !! Result |- | <code><nowiki>{{flag|ca|Canada}}</nowiki></code> || {{flag|ca|Canada}} |} <noinclude>[[Category:Template documentation]]</noinclude> 1fb455be1ffbed259dd27df18dd447e605746ed4 Template:Disambig 10 166 190 2025-05-10T19:28:25Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki #redirect [[Template:Disambiguation]] f220bcb889e0ce686a839d64ec6c4359b0e8bfb7 Category:Documentation templates 14 167 191 2025-05-10T19:28:26Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Templates 14 168 192 2025-05-10T19:28:26Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Category:Notice templates 14 169 193 2025-05-10T19:28:27Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Formatting templates 14 170 194 2025-05-10T19:28:27Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:License templates 14 171 195 2025-05-10T19:28:28Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Pages using DynamicPageList3 parser function 14 172 196 2025-05-10T19:28:28Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] d17f98d5d77b5951b7a80755914239533ad6aba6 Category:Candidates for deletion 14 173 197 2025-05-10T19:28:28Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Hidden categories 14 174 198 2025-05-10T19:28:29Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki These categories are hidden on article pages. [[Category:Wiki maintenance]] e4d17499a8377d3f2b4b4a618a671e53111f43ca Category:Images 14 175 199 2025-05-10T19:28:29Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Media]] b141d2b9971d6efe9f59bd03449781e71411c631 Category:Infobox templates 14 176 200 2025-05-10T19:28:29Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Logos 14 177 201 2025-05-10T19:28:29Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Images]] 8820b63e35aedd9d2666fe40b965d4e91ce0a106 Category:Media 14 178 202 2025-05-10T19:28:30Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Category:Pages containing omitted template arguments 14 179 203 2025-05-10T19:28:31Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages using TabberTransclude parser tag 14 180 204 2025-05-10T19:28:31Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] d17f98d5d77b5951b7a80755914239533ad6aba6 Category:Pages using Tabber parser tag 14 181 205 2025-05-10T19:28:32Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] d17f98d5d77b5951b7a80755914239533ad6aba6 Category:Pages using duplicate arguments in template calls 14 182 206 2025-05-10T19:28:32Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages where expansion depth is exceeded 14 183 207 2025-05-10T19:28:33Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages where template include size is exceeded 14 184 208 2025-05-10T19:28:33Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages where the unstrip depth limit is exceeded 14 185 209 2025-05-10T19:28:33Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages where the unstrip size limit is exceeded 14 186 210 2025-05-10T19:28:33Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with broken file links 14 187 211 2025-05-10T19:28:34Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Wiki maintenance]] 197b5fc8ebad5537759adacc0079b4b2662cb4c4 Category:Pages with ignored display titles 14 188 212 2025-05-10T19:28:34Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with math errors 14 189 213 2025-05-10T19:28:34Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with non-numeric formatnum arguments 14 190 214 2025-05-10T19:28:35Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with reference errors 14 191 215 2025-05-10T19:28:35Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with script errors 14 192 216 2025-05-10T19:28:36Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with syntax highlighting errors 14 193 217 2025-05-10T19:28:36Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with template loops 14 194 218 2025-05-10T19:28:36Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with too many expensive parser function calls 14 195 219 2025-05-10T19:28:37Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Promotional images 14 196 220 2025-05-10T19:28:37Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki Official images used for purposes of promoting the game, that may not actually represent gameplay. [[Category:Images]] 80b893c439747ce681cf18cc579c3bc4c65cd502 Category:Stubs 14 197 221 2025-05-10T19:28:38Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Template documentation 14 198 222 2025-05-10T19:28:38Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] [[Category:Wiki maintenance]] c1800be0da4588b3b652fa5324aade2c496fb3c5 Category:Templates with no documentation 14 199 223 2025-05-10T19:28:38Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Templates]] [[Category:Wiki maintenance]] b1ff76c0593194e53e6bf42f37ca337a5493c57e Category:Wiki maintenance 14 200 224 2025-05-10T19:28:39Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki The sub-categories of this category contain pages that have been identified as needing attention for one or more of the following reasons: * Changes have been suggested that should be discussed first or are under discussion. * The page has flaws that need addressing by an editor with the knowledge or skills to help. * The action the page needs requires special rights. ''See also:'' * [[Special:BrokenRedirects|Broken redirects]] * [[Special:DoubleRedirects|Double redirects]] * [[Special:UncategorizedCategories|Uncategorized categories]] * [[Special:UncategorizedFiles|Uncategorized files]] * [[Special:UncategorizedPages|Uncategorized pages]] * [[Special:UncategorizedTemplates|Uncategorized templates]] * [[Special:WantedCategories|Wanted categories]] * [[Special:WantedFiles|Wanted files]] * [[Special:WantedPages|Wanted pages]] * [[Special:WantedTemplates|Wanted templates]] * [[Special:TrackingCategories|Other special tracking categories]] [[Category:{{SITENAME}}]] 4b90dc0dbd8c91e131e4ffcf22360b1c837b9717 Category:Wiki skin images 14 201 225 2025-05-10T19:28:39Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Images]] 8820b63e35aedd9d2666fe40b965d4e91ce0a106 Category:Pages using DynamicPageList3 dplvar parser function 14 202 226 2025-05-10T19:28:39Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] d17f98d5d77b5951b7a80755914239533ad6aba6 Category:Pages including data maps failing validation 14 203 227 2025-05-10T19:28:39Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ __HIDDENCAT__ [[Category:Wiki maintenance]] 57e36e9878c3eb806aa6ee6f748a5c5e0cdd5a97 Category:Pages including data maps 14 204 228 2025-05-10T19:28:40Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] d17f98d5d77b5951b7a80755914239533ad6aba6 Category:Maps failing data validation 14 205 229 2025-05-10T19:28:40Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ __HIDDENCAT__ [[Category:Wiki maintenance]] 57e36e9878c3eb806aa6ee6f748a5c5e0cdd5a97 Category:Legal notices 14 206 230 2025-05-10T19:28:40Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Category:Pages setting LuaCache keys 14 207 231 2025-05-10T19:28:41Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ __HIDDENCAT__ [[Category:Wiki maintenance]] 57e36e9878c3eb806aa6ee6f748a5c5e0cdd5a97 Category:Hatnote templates 14 208 232 2025-05-10T19:28:41Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Key template documentation 14 209 233 2025-05-10T19:28:41Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Template documentation]] e65ecf60878d4707b3b4c1e3962615e2d5f3b2ab Category:Navigation templates 14 210 234 2025-05-10T19:28:42Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Pages with failing Cargo queries 14 211 235 2025-05-10T19:28:42Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with math render errors 14 212 236 2025-05-10T19:28:43Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] 786037995b8f7e89762a8ea13b84ade091453c00 Category:Pages with DRUID infoboxes 14 213 237 2025-05-10T19:28:43Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with a DRUID infobox. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 17ed4520e5c453209616df3c9b2306fce8ceb12f Category:Pages with navboxes 14 214 238 2025-05-10T19:28:43Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with a {{tl|navbox}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 3e48f396fafee5d8aecf6cd0dcb554c769f485a9 Category:Pages with amboxes 14 215 239 2025-05-10T19:28:44Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with an {{tl|ambox}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] de382f794395f344d0147dbb96b9542d6f38f624 Category:Pages with hatnotes 14 216 240 2025-05-10T19:28:44Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with a {{tl|hatnote}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 4ac7721cfcffb2f181820164d95f3af8d86c4fd7 Category:Pages with spoilers 14 217 241 2025-05-10T19:28:45Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with a {{tl|spoiler}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 5822aa87e8a8897673ff589d00d2f0d622aa3be5 Category:Pages with quotes 14 218 242 2025-05-10T19:28:45Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with a {{tl|quote}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 2f764cddd1fb264f48b896ffd6e892df3c391e90 Category:Pages with colors 14 219 243 2025-05-10T19:28:46Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with a {{tl|color}}. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] bcca0312385263c30522c744df6a8c8856c68fab Category:Main page templates 14 220 244 2025-05-10T19:28:46Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Main page boxes 14 221 245 2025-05-10T19:28:47Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Main page templates]] ce086f8cfa39aeb8137ffe34e5d41aa38300cf4e Category:Pages using the RSS extension 14 222 246 2025-05-10T19:28:47Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Wiki maintenance]] d17f98d5d77b5951b7a80755914239533ad6aba6 Category:Pages with Discord embeds 14 223 247 2025-05-10T19:28:48Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki This category contains every page with a {{tl|Discord}} embed. It can be used for maintenance but primarily exists to enable the use of gadgets for targeted CSS and JS. __HIDDENCAT__ __EXPECTUNUSEDCATEGORY__ [[Category:Categories for loading gadgets]] 11ff5616854d8913d2c371ae3c2c610278651846 Category:Categories for loading gadgets 14 224 248 2025-05-10T19:28:48Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki [[Category:Wiki maintenance]] 197b5fc8ebad5537759adacc0079b4b2662cb4c4 MediaWiki:Vector.css 8 225 249 2025-05-10T19:28:49Z ARTIFICER 564804 Importing default loadout css text/css /* All CSS here will be loaded for users of the Vector skin */ /********************************************************* * Backwards compatibility with deprecated variable names * **********************************************************/ :root { --wiki-heading-color: var(--wiki-content-heading-color); } /**************************************** * End backwards compatibility variables * *****************************************/ /************************************ * Body, head, and general framework * *************************************/ html, body{ height: auto; min-height: 100%; } body { background-color: var(--wiki-body-background-color); background-image: var(--wiki-body-background-image); /* the following have fallbacks for backwards compatibility with older versions of the loadout */ background-position: var(--wiki-body-background-position, top center); background-size: var(--wiki-body-background-size, cover); background-repeat: var(--wiki-body-background-repeat, no-repeat); background-attachment: var(--wiki-body-background-attachment, fixed); font-family: var(--wiki-body-font-family); accent-color: var(--wiki-accent-color); box-sizing: border-box; } /* clear fix */ body::after{ content: ""; display: table; clear: both; } #mw-page-base { background:none; } /* let ul default to text that respects color */ ul { list-style-image: none; } /************************ * End general framework * *************************/ /************** * Vector tabs * ***************/ .vector-menu-tabs-legacy { padding-left: var(--wiki-content-border-width, 1px); } .vector-menu-tabs-legacy li, #p-cactions { background-image: linear-gradient( to top, var(--wiki-navigation-border-color) 0, var(--wiki-navigation-background-color) var(--wiki-content-border-width, 1px), var(--wiki-navigation-background-color--secondary) 100%); } #p-cactions { z-index: 5; } #p-variants { background-color: var(--wiki-content-background-color); } .vector-menu-dropdown { /* Matching a built-in rule for .vector-menu-tabs-legacy */ height: 2.5em; } .vector-menu-tabs-legacy li.selected { background: var(--wiki-navigation-selected-background-color); border-color: var(--wiki-navigation-selected-border-color); } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading{ background-image: linear-gradient(to bottom,transparent 0,var(--wiki-navigation-border-color) 100%); background-size: var(--wiki-content-border-width, 1px) 100%; } .vector-menu-tabs li a, .vector-menu-tabs li.new a, .vector-menu-tabs li.new a:visited, .vector-menu-tabs .selected a, .vector-menu-tabs .selected a:visited, #mw-head .vector-menu-dropdown .vector-menu-heading { color: var(--wiki-navigation-text-color); } .vector-menu-tabs .selected a, .vector-menu-tabs .selected a:visited { color: var(--wiki-navigation-selected-text-color); } .vector-menu-dropdown .vector-menu-content { background: none; border: none; box-shadow:none; margin-top:-1px; } .vector-menu-dropdown .vector-menu-content-list { background-color: var(--wiki-navigation-background-color--secondary); border: 1px solid var(--wiki-navigation-border-color); } div.vectorMenu .mw-list-item a, .vector-menu-dropdown .mw-list-item a, .vector-menu-dropdown .mw-list-item.selected a, .vector-menu-dropdown .mw-list-item.selected a:visited { color: var(--wiki-navigation-text-color); } .vector-menu-tabs li a:hover, .vector-menu-tabs li.new a:hover, .vector-menu-tabs li.new a:visited:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover, div.vectorMenu .mw-list-item a:hover, .vector-menu-dropdown .mw-list-item.selected a:hover, .vector-menu-dropdown .mw-list-item.selected a:visited:hover { color:var(--wiki-navigation-text-color--hover, var(--wiki-content-link-color--hover)); /* fallback for backwards compatibility */ } .vector-menu-tabs .selected a:hover, .vector-menu-tabs .selected a:visited:hover { /* don't use the regular hover color because the background of selected could be different */ color: var(--wiki-navigation-selected-text-color); } .vector-menu-dropdown .vector-menu-heading::after { filter: brightness(0) var(--wiki-icon-to-link-filter); } #p-search { z-index:2; } #p-search .searchButton { background-color:transparent; } /****************** * End vector tabs * *******************/ /******** * Links * *********/ a, .mw-parser-output a.external, .mw-parser-output a.extiw { color: var(--wiki-content-link-color); } a:visited, .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: var(--wiki-content-link-color--visited); } a:not(.mw-selflink):hover, a:visited:hover, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:visited:hover, .mw-parser-output a.external:hover, .mw-parser-output a.external:visited:hover { color:var(--wiki-content-link-color--hover); } a.new, a.new:visited, a.new:hover, .mw-usertoollinks-contribs-no-edits { color:var(--wiki-content-redlink-color); } a:not(.mw-selflink):active, a:visited:active, .mw-parser-output a.extiw:active, .mw-parser-output a.extiw:visited:active, .mw-parser-output a.external:active, .mw-parser-output a.external:visited:active { color: var(--wiki-warning-color); } /* move external marker to an after so we can filter it to link color */ .mw-parser-output a.external { background:none; padding-right: 0; } .mw-parser-output a.external::after { display:inline-block; width:1em; height:1em; margin-left:1px; content:''; vertical-align: text-top; --mask: var(--icon) no-repeat; --mask-size: 0.857em; --mask-position: center right; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: var(--mask-size); mask-size: var(--mask-size); -webkit-mask-position: var(--mask-position); mask-position: var(--mask-position); background-color: currentColor; } .mw-parser-output a.external::after { margin-left:0; --icon: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 12 12%22%3E %3Cpath d=%22M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1ZM2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z%22/%3E %3C/svg%3E"); } .plainlinks a.external::after { display:none; } /* Using a background instead of an ::after prevents the icon from wrapping onto its own line, but prevents it from being recolored. Use this only for icons that should not be recolored, otherwise use the ::after method used for external links above */ a.extiw[title^="wikipedia:"], a.extiw[title^="wp:"], a.extiw[title^="mw:"], a.extiw[title^="support:"] { padding-right:1em; background-position:center right; background-repeat:no-repeat; background-size:0.857em; } a.extiw[title^="wikipedia:"], a.extiw[title^="wp:"] { background-image:url(https://commons.wiki.gg/images/2/28/Wikipedia.svg?202406) } a.extiw[title^="mw:"] { background-image:url(https://commons.wiki.gg/images/9/9b/MediaWiki.svg?202406) } a.extiw[title^="support:"] { background-image:url(https://commons.wiki.gg/images/9/9b/Wiki.gg_icon-pink.svg) } /************ * End links * *************/ /*************** * Left Sidebar * ****************/ #mw-panel .vector-menu-portal { background-color: color-mix(in srgb, var(--wiki-sidebar-background-color) var(--wiki-sidebar-background-opacity), transparent); border: var(--wiki-sidebar-border-width, 1px) solid var(--wiki-sidebar-border-color); margin: 0 0.5em; } @supports not (color:color-mix(in srgb, #000, transparent)) { #mw-panel .vector-menu-portal { background-color: var(--wiki-sidebar-background-color); } } #mw-panel .vector-menu-portal + .vector-menu-portal { border-top-width: 0; } #mw-panel .vector-menu-portal:last-child { margin-bottom:0; } .vector-menu-portal .vector-menu-heading { padding: 0.5rem 0.25rem 0 0.5rem; margin: 0; background: none; color: var(--wiki-sidebar-heading-color); font-family:var(--wiki-sidebar-heading-font-family); } .vector-menu-portal .vector-menu-content { margin: 0 0.5em; } .vector-menu-portal .vector-menu-content li a{ display: block; } .vector-menu-portal .vector-menu-content .mw-list-item a, .vector-menu-portal .vector-menu-content .mw-list-item a:visited, .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--wiki-sidebar-link-color); } .vector-menu-portal .vector-menu-content .mw-list-item a:hover, .vector-menu-portal .vector-menu-content .mw-list-item a:visited:hover { color:var(--wiki-sidebar-link-color--hover, var(--wiki-content-link-color--hover)); /* fallback for backwards compatibility */ } #t-newpage { --sidebar-icon:url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 384 512%22%3E%3C!--%21Font Awesome Free 6.5.2 by %40fontawesome - https%3A%2F%2Ffontawesome.com License - https%3A%2F%2Ffontawesome.com%2Flicense%2Ffree Copyright 2024 Fonticons%2C Inc.--%3E%3Cpath d%3D%22M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z%22%2F%3E%3C%2Fsvg%3E'); order:-1; } #t-upload { --sidebar-icon: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 512 512%22%3E%3C!--%21Font Awesome Free 6.5.2 by %40fontawesome - https%3A%2F%2Ffontawesome.com License - https%3A%2F%2Ffontawesome.com%2Flicense%2Ffree Copyright 2024 Fonticons%2C Inc.--%3E%3Cpath d%3D%22M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z%22%2F%3E%3C%2Fsvg%3E'); order:-1; } #t-print { --sidebar-icon: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 512 512%22%3E%3C!--%21Font Awesome Free 6.5.2 by %40fontawesome - https%3A%2F%2Ffontawesome.com License - https%3A%2F%2Ffontawesome.com%2Flicense%2Ffree Copyright 2024 Fonticons%2C Inc.--%3E%3Cpath d%3D%22M128 0C92.7 0 64 28.7 64 64v96h64V64H354.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM384 352v32 64H128V384 368 352H384zm64 32h32c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H64v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z%22%2F%3E%3C%2Fsvg%3E'); order:-1; } #t-whatlinkshere { --sidebar-icon: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 640 512%22%3E%3C!--%21Font Awesome Free 6.5.2 by %40fontawesome - https%3A%2F%2Ffontawesome.com License - https%3A%2F%2Ffontawesome.com%2Flicense%2Ffree Copyright 2024 Fonticons%2C Inc.--%3E%3Cpath d%3D%22M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z%22%2F%3E%3C%2Fsvg%3E'); order:-1; } #t-specialpages { --sidebar-icon: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 576 512%22%3E%3C!--%21Font Awesome Free 6.5.2 by %40fontawesome - https%3A%2F%2Ffontawesome.com License - https%3A%2F%2Ffontawesome.com%2Flicense%2Ffree Copyright 2024 Fonticons%2C Inc.--%3E%3Cpath d%3D%22M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z%22%2F%3E%3C%2Fsvg%3E'); order:-1; } #t-cargopagevalueslink { --sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 126.971 136.024'%3E%3Cpath d='m105.999 0-84 .049L0 8.957v127.065h126.97V8.957Z' fill='none' display='inline' opacity='1' paint-order='normal'/%3E%3Cpath d='m9.735 8.774 12.265-5h84l12.25 5H9.75' fill='%23000' fill-opacity='1' display='inline'/%3E%3Cpath d='M3.5 41.024H28v63.5H3.5zm95.5 0h24.5v63.5H99zm-95.5 67.5H123v24H3.5zm0-95.5H123v24H3.5zm27.985 28V59.67l13.61 13.61 17.323 17.324 1.788 1.787 12.131 12.132h19.147v-16.21l-13.6-13.6-1.788-1.787-17.325-17.324-14.578-14.579H31.485zm45.865 0-12.2 12.2 17.324 17.324 13.01-13.01V41.024H77.35zM42.716 75.658l-11.23 11.231v17.634h17.013l11.541-11.54-17.324-17.325z' fill='%23000' fill-opacity='1' fill-rule='nonzero' display='inline' opacity='1' paint-order='normal'/%3E%3C/svg%3E"); order:-1; } #t-specialpages > a::before, #t-whatlinkshere > a::before, #t-print > a::before, #t-newpage > a::before, #t-upload > a::before, #t-cargopagevalueslink > a::before { content:''; background-image:var(--sidebar-icon); background-size:contain; background-repeat:no-repeat; background-position:center; display:inline-block; width:15px; height:15px } #p-tb .mw-list-item > a::before { filter:var(--wiki-icon-to-link-filter) } #p-tb .mw-list-item > a { display:flex; align-items:center; gap:3px } #p-tb .vector-menu-content-list { display:flex; flex-direction:column; } /* Sidebar spacing and border-radius section */ #mw-panel .vector-menu-portal:not(:last-child) { margin-bottom:var(--wiki-sidebar-portal-spacing); } #mw-panel #p-logo + .vector-menu-portal { /* The way this works is that if the sidebar does not have any spacing, only the top and bottom corners of the top and bottom portals respectively should be rounded, instead of all corners of every portal. min and calc are combined here to basically create an `if x > 0 then y else z` function. The lower of (sidebar-border-radius) and (spacing * 999) are compared and the smaller value is taken (999 is simply an arbitrary large number). If portal spacing is zero, multiplying it gets 0 and will be the smaller value. If it's non-zero, it will be large and sidebar-border-radius will be the smaller value. This is only applied to the "inner" corners because we'd want the "outer" corners rounded in either scenario. */ border-radius: var(--wiki-sidebar-border-radius) var(--wiki-sidebar-border-radius) calc(min(var(--wiki-sidebar-border-radius), var(--wiki-sidebar-portal-spacing) * 999 )) calc(min(var(--wiki-sidebar-border-radius), var(--wiki-sidebar-portal-spacing) * 999 )); } #mw-panel .vector-menu-portal:last-child { /* see rule above for explanation */ border-radius: calc(min(var(--wiki-sidebar-border-radius), var(--wiki-sidebar-portal-spacing) * 999 )) calc(min(var(--wiki-sidebar-border-radius), var(--wiki-sidebar-portal-spacing) * 999 )) var(--wiki-sidebar-border-radius) var(--wiki-sidebar-border-radius); } #mw-panel .vector-menu-portal { /* see above rules for explanation */ border-radius:calc(min(var(--wiki-sidebar-border-radius), var(--wiki-sidebar-portal-spacing) * 999 )); } #mw-panel .vector-menu-portal + .vector-menu-portal { /* This keeps the border from doubling up if there is no spacing between them, The portals other than the first only have a top border if there is spacing */ border-top-width: min(var(--wiki-sidebar-border-width, 1px), var(--wiki-sidebar-portal-spacing, 0px)); /* the 1px and 0px fallbacks are for backwards compatibility with older versions of the loadout */ } /* end sidebar spacing and border-radius */ /******************* * End left sidebar * ********************/ /******* * Logo * ********/ /* [[File:Site-logo.png]] */ .mw-wiki-logo { background-size: contain; } /*********** * End logo * ************/ /*************** * Content area * ****************/ .mw-body, .parsoid-body, .mw-footer { color: var(--wiki-content-text-color); background-color: color-mix(in srgb, var(--wiki-content-background-color) var(--wiki-content-background-opacity), transparent); border: var(--wiki-content-border-width, 1px) solid var(--wiki-content-border-color); margin-right: 1em; } @supports not (color:color-mix(in srgb, #000, transparent)) { .mw-body, .parsoid-body, .mw-footer { background-color: var(--wiki-content-background-color); } } .mw-footer { border-top-width:0; } .mw-footer li { color: var(--wiki-content-text-color); } /* fix */ @media screen and (max-width: 900px) { #footer-icons, #footer-places { clear: unset; } } @media screen and (max-width: 981px) { .mw-body, .parsoid-body, .mw-footer { margin-right: 0; } } /******************************* * End content area and footer * *******************************/ /*********** * Headings * ************/ .mw-body h1, .mw-body h2 { border-bottom: 1px solid var(--wiki-content-border-color); font-family: var(--wiki-heading-font-family); } h1, h2, h3, h4, h5, h6 { color: var(--wiki-heading-color); } .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, .client-js .mw-content-rtl .mw-editsection-bracket:not(:first-of-type), .mw-editsection-divider, .client-js .mw-content-rtl .mw-editsection-bracket:first-of-type, .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type) { color: var(--wiki-heading-color); } /*************** * End headings * ****************/ /************* * Wikitables * **************/ .wikitable { background: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .wikitable>tr>th, .wikitable>*>tr>th { background: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); } .wikitable>tr>td, .wikitable>*>tr>td { border: 1px solid var(--wiki-content-border-color); } /* Forward = yes bg on Special:Interwiki */ table.mw-interwikitable.body td.mw-interwikitable-local-yes { background: color-mix(in srgb, var(--wiki-success-color) 25%, transparent); } .zebra-table > * > tr:nth-of-type(2n), .zebra-table > tr:nth-of-type(2n) { background: color-mix(in srgb, var(--wiki-content-dynamic-color--secondary) 5%, transparent); } .client-js .sortable:not(.jquery-tablesorter) > * > tr:first-child > th:not(.unsortable), .jquery-tablesorter th.headerSort { background-image: unset; position: relative; } .client-js .sortable:not(.jquery-tablesorter) > * > tr:first-child > th:not(.unsortable)::after, .jquery-tablesorter th.headerSort::after { content: ""; display: block; position: absolute; top: 0; right: 0; width: 21px; height: 100%; --mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2221%22 height=%229%22 viewBox=%220 0 21 9%22%3E %3Cpath d=%22m14.5 5-4 4-4-4zm0-1-4-4-4 4z%22 fill=%22%23fff%22/%3E %3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: auto; mask-size: auto; -webkit-mask-position: center right; mask-position: center right; background-color: var(--wiki-content-link-color); } .jquery-tablesorter th.headerSortUp::after { --mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2221%22 height=%224%22 viewBox=%220 0 21 4%22%3E %3Cpath d=%22m6.5 4 4-4 4 4z%22 fill=%22%23fff%22/%3E %3C/svg%3E") no-repeat; } .jquery-tablesorter th.headerSortDown::after { --mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2221%22 height=%224%22 viewBox=%220 0 21 4%22%3E %3Cpath d=%22m14.5 0-4 4-4-4z%22 fill=%22%23fff%22/%3E %3C/svg%3E") no-repeat; } /***************** * End wikitables * ******************/ /************** * Preferences * ***************/ .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs>.oo-ui-menuLayout-content>.oo-ui-indexLayout-stackLayout>.oo-ui-tabPanelLayout { border: none; } .oo-ui-tabSelectWidget-framed { background-color: transparent; border-bottom: 1px solid var(--wiki-accent-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover { background-color: color-mix(in srgb, var(--wiki-accent-label-color) 75%, transparent); color: var(--wiki-accent-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover { color: var(--wiki-accent-color--hover); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom: none; } #preferences .mw-htmlform-submit-buttons { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled, .oo-ui-textInputWidget .oo-ui-inputWidget-input, .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border-color: var(--wiki-content-border-color); } .oo-ui-pendingElement-pending { background-color: var(--wiki-content-background-color--secondary); background-image: linear-gradient(135deg,var(--wiki-content-background-color) 25%,transparent 25%,transparent 50%,var(--wiki-content-background-color) 50%,var(--wiki-content-background-color) 75%,transparent 75%,transparent); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--wiki-content-text-color); border-color: var(--wiki-content-border-color) } .view-dark .oo-ui-inputWidget-input.oo-ui-indicator-down { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 12 12%22%3E%3Ctitle%3E down %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M9.9 2.9 6 6.8 2.1 2.9 1 4l5 5 5-5z%22/%3E%3C/g%3E%3C/svg%3E"); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover { color:var(--wiki-content-text-mix-color); border-color:var(--wiki-accent-color); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--wiki-content-dynamic-color); border-color: var(--wiki-accent-color) } .oo-ui-dropdownInputWidget select option, .oo-ui-dropdownInputWidget select optgroup { color: #000; } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover, .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus, .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:focus, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:active, .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input, .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus, .oo-ui-textInputWidget.oo-ui-widget-enabled:active .oo-ui-inputWidget-input, .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border-color: var(--wiki-accent-color); box-shadow: none; } .oo-ui-radioInputWidget [type="radio"] + span { background-color:var(--wiki-content-dynamic-color--inverted); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:checked + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:hover + span{ border-color: color-mix(in srgb, var(--wiki-accent-color) 90%, transparent); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:checked:hover + span { border-color:var(--wiki-accent-color); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:active + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:checked:active + span{ background-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); border-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:checked:focus + span::before { border-color: var(--wiki-content-dynamic-color--inverted); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:checked:active + span { border-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--wiki-content-text-color); border-color: var(--wiki-content-text-mix-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget.oo-ui-optionWidget-selected, .oo-ui-menuOptionWidget.oo-ui-optionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget.oo-ui-optionWidget-highlighted.oo-ui-optionWidget-selected, .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent); color: var(--wiki-content-text-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { background-color: color-mix(in srgb, var(--wiki-accent-color) 10%, transparent); color: var(--wiki-accent-color); } .mw-prefs-tabs.mw-prefs-tabs-searching .oo-ui-tabPanelLayout.mw-prefs-search-matched > fieldset > legend { background: var(--wiki-content-background-color--secondary); } .mw-prefs-search-highlight { background-color: color-mix(in srgb, var(--wiki-accent-color) 7%, transparent) !important; outline-color: color-mix(in srgb, var(--wiki-accent-color) 7%, transparent) !important; } /**************** * End preferences * *****************/ /*************** * Page history * ****************/ #pagehistory li { background-color: transparent; border: none; } #pagehistory li.selected { background-color: var(--wiki-content-background-color--secondary); border: 1px dashed var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .diff td.diff-addedline { background-color: var(--wiki-content-background-color); border-color: var(--wiki-success-color); border-width: 1px 1px 1px 4px; } .diff td.diff-addedline .diffchange { background-color: var(--wiki-success-color); color: var(--wiki-success-label-color); } .diff td.diff-deletedline { background-color: var(--wiki-content-background-color); border-color: var(--wiki-alert-color); border-width: 1px 1px 1px 4px; } .diff td.diff-deletedline .diffchange { background-color: var(--wiki-alert-color); color: var(--wiki-alert-label-color) } .diff td.diff-context { background: color-mix(in srgb, var(--wiki-content-text-mix-color-95) 80%, var(--wiki-content-background-color)); border-color: var(--wiki-neutral-color, var(--wiki-content-text-mix-color)); /* fallback for backwards compatibility */ color: var(--wiki-content-text-color); } .diff-marker a.mw-diff-movedpara-right { color: transparent; } .diff-marker a.mw-diff-movedpara-right:hover:after { opacity: .75; } .diff-marker a.mw-diff-movedpara-right:after { color: var(--wiki-content-text-color); content: "\21a9"; } .diff-marker a.mw-diff-movedpara-left { color: transparent; } .diff-marker a.mw-diff-movedpara-left:hover:after { opacity: .75; } .diff-marker a.mw-diff-movedpara-left:after { color: var(--wiki-content-text-color); content: "\21aa"; } .mw-plusminus-neg { color:var(--wiki-alert-color); } .mw-plusminus-null{ color:var(--wiki-neutral-color, var(--wiki-content-text-mix-color)); /* fallback for backwards compatibility */ } .mw-plusminus-pos { color:var(--wiki-success-color); } .updatedmarker { background-color: color-mix(in srgb, var(--wiki-success-color) 25%, transparent); color:var(--wiki-content-text-color); } li span.deleted, span.history-deleted { color: var(--wiki-content-text-mix-color); } span.mw-history-suppressed { /* overrides above, since suppressed is also deleted */ color: var(--wiki-content-text-color); } /* inline diff (1.41) */ .mw-diff-inline-header { border-bottom: 1px solid var(--wiki-content-border-color); } .mw-diff-inline-added ins, .mw-diff-inline-changed ins, .mw-diff-inline-moved ins, .mw-diff-table-prefix .mw-diff-inline-legend .mw-diff-inline-legend-ins, .mw-diff-inline-added.mw-diff-empty-line::after, .mw-inline-diff-newline::after { background: color-mix(in srgb, var(--wiki-success-color) 90%, transparent); color: var(--wiki-success-label-color); display: inline-block; } .mw-diff-inline-added.mw-diff-empty-line::after, .mw-diff-inline-deleted.mw-diff-empty-line::after, .mw-inline-diff-newline::after { padding: 0.4em 0; } .mw-diff-inline-deleted del, .mw-diff-inline-changed del, .mw-diff-inline-moved del, .mw-diff-table-prefix .mw-diff-inline-legend .mw-diff-inline-legend-del, .mw-diff-inline-deleted.mw-diff-empty-line::after { background: color-mix(in srgb, var(--wiki-alert-color) 90%, transparent); color: var(--wiki-alert-label-color); display: inline-block; } .mw-diff-movedpara-left::after, .mw-diff-movedpara-right::after { color: var(--wiki-content-text-color); } .ve-ui-diffElement-hasDescriptions .ve-ui-diffElement-content { border-right-color: var(--wiki-content-border-color); } .ve-ui-diffElement-attributeChange { color: var(--wiki-content-text-mix-color); } .ve-ui-diffElement-attributeChange ins { background-color: color-mix(in srgb, var(--wiki-success-color) 90%, transparent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--wiki-success-color) 90%, transparent); color: var(--wiki-success-label-color); } .ve-ui-diffElement-attributeChange del { background-color: color-mix(in srgb, var(--wiki-alert-color) 90%, transparent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--wiki-alert-color) 90%, transparent); color: var(--wiki-alert-label-color); } .ve-ui-diffElement-highlight { outline-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); } .ve-ui-changeDescriptionsSelectWidget > .oo-ui-optionWidget-highlighted { background: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent); } /* Edit conflict */ .mw-twocolconflict-split-tour-image-dual-column-view-1 { filter:var(--wiki-icon-general-filter); } .mw-twocolconflict-split-tour-image-blue-dot { filter:brightness(0) var(--wiki-icon-to-link-filter); } .mw-pulsating-dot::before, .mw-pulsating-dot::after { background-color: var(--wiki-content-link-color); } .mw-twocolconflict-split-current-version-header .mw-twocolconflict-revision-label { background-color: var(--wiki-alert-color); color:var(--wiki-alert-label-color); } .mw-twocolconflict-special-your-version-header .mw-twocolconflict-revision-label, .mw-twocolconflict-split-your-version-header .mw-twocolconflict-revision-label { background-color: var(--wiki-success-color); color:var(--wiki-success-label-color); } .mw-twocolconflict-single-column.mw-twocolconflict-split-copy, .mw-twocolconflict-split-column.mw-twocolconflict-split-copy { border-color: var(--wiki-neutral-color, var(--wiki-content-text-mix-color)); /* fallback for backwards compatibility */ background-color: var(--wiki-content-text-mix-color-95); } .mw-twocolconflict-single-column .mw-twocolconflict-split-collapsed .mw-twocolconflict-split-fade, .mw-twocolconflict-split-column .mw-twocolconflict-split-collapsed .mw-twocolconflict-split-fade { background-image: linear-gradient(transparent, var(--wiki-content-text-mix-color-95)); } .mw-twocolconflict-single-column, .mw-twocolconflict-split-column { background-color: var(--wiki-content-background-color); color: var(--wiki-content-text-color); } .mw-twocolconflict-single-column.mw-twocolconflict-split-unselected, .mw-twocolconflict-split-column.mw-twocolconflict-split-unselected { color: color-mix(in srgb, var(--wiki-content-text-color) 80%, transparent); } .mw-twocolconflict-single-column.mw-twocolconflict-split-unselected.mw-twocolconflict-split-delete, .mw-twocolconflict-split-column.mw-twocolconflict-split-unselected.mw-twocolconflict-split-delete { border-color: color-mix(in srgb, var(--wiki-alert-color) 40%, transparent); } .mw-twocolconflict-single-column.mw-twocolconflict-split-delete, .mw-twocolconflict-split-column.mw-twocolconflict-split-delete { border-color: var(--wiki-alert-color); } .mw-twocolconflict-single-column.mw-twocolconflict-split-unselected.mw-twocolconflict-split-add, .mw-twocolconflict-split-column.mw-twocolconflict-split-unselected.mw-twocolconflict-split-add { border-color: color-mix(in srgb, var(--wiki-success-color) 40%, transparent); } .mw-twocolconflict-single-column.mw-twocolconflict-split-add, .mw-twocolconflict-split-column.mw-twocolconflict-split-add { border-color: var(--wiki-success-color); } .mw-twocolconflict-single-column.mw-twocolconflict-split-unselected del.mw-twocolconflict-diffchange, .mw-twocolconflict-split-column.mw-twocolconflict-split-unselected del.mw-twocolconflict-diffchange { background-color: color-mix(in srgb, var(--wiki-alert-color) 30%, transparent); } .mw-twocolconflict-single-column.mw-twocolconflict-split-unselected del.mw-twocolconflict-diffchange, .mw-twocolconflict-split-column.mw-twocolconflict-split-unselected del.mw-twocolconflict-diffchange, .mw-twocolconflict-single-column del.mw-twocolconflict-diffchange, .mw-twocolconflict-split-column del.mw-twocolconflict-diffchange { background-color: var(--wiki-alert-color); color: var(--wiki-alert-label-color); } .mw-twocolconflict-single-column.mw-twocolconflict-split-unselected ins.mw-twocolconflict-diffchange, .mw-twocolconflict-split-column.mw-twocolconflict-split-unselected ins.mw-twocolconflict-diffchange, .mw-twocolconflict-single-column ins.mw-twocolconflict-diffchange, .mw-twocolconflict-split-column ins.mw-twocolconflict-diffchange { background-color: var(--wiki-success-color); color:var(--wiki-success-label-color); } .mw-twocolconflict-split-selection > div:nth-child(2) .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:checked + span, .mw-twocolconflict-split-selection > div:nth-child(2) .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:active + span, .mw-twocolconflict-split-selection > div:nth-child(2) .oo-ui-radioInputWidget [type="radio"] + span { border-color: color-mix(in srgb, var(--wiki-success-color) 80%, transparent); background: color-mix(in srgb, var(--wiki-success-color) 10%, transparent); } .mw-twocolconflict-split-selection > div:nth-child(2) .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:active + span, .mw-twocolconflict-split-selection > div:nth-child(2) .oo-ui-radioInputWidget [type="radio"] + span { border-color: color-mix(in srgb, var(--wiki-success-color) 90%, transparent); background: color-mix(in srgb, var(--wiki-success-color) 10%, transparent); } .mw-twocolconflict-split-selection > div:nth-child(1) .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:checked + span, .mw-twocolconflict-split-selection > div:nth-child(1) .oo-ui-radioInputWidget.oo-ui-widget-enabled [type="radio"]:active + span, .mw-twocolconflict-split-selection > div:nth-child(1) .oo-ui-radioInputWidget [type="radio"] + span { border-color: color-mix(in srgb, var(--wiki-alert-color) 90%, transparent); background: color-mix(in srgb, var(--wiki-alert-color) 10%, transparent); } .mw-twocolconflict-split-editable .mw-twocolconflict-split-editor { color:var(--wiki-content-text-color); } /**/ /******************* * End page history * ********************/ /******************** * Table of contents * *********************/ #toc, .toc, .toccolours, .mw-warning { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); box-shadow: 0 0.1em 0.2em #000000; } #mw-toc-heading{ border: 0; } .toctogglelabel { color: var(--wiki-content-link-color); } .tocnumber { color: var(--wiki-content-text-color); } /************************ * End table of contents * *************************/ /************* * Thumbnails * **************/ img.thumbborder { border: 1px solid var(--wiki-content-border-color); padding: 5px; } div.thumbinner { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } li.gallerybox div.thumb { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); } html .thumbimage { background-color: unset; border: 1px solid var(--wiki-content-border-color); } .thumb, .thumb .thumbinner, .thumb .thumbimage { max-width: 100%; box-sizing: border-box; } .thumb .thumbimage:not(audio) { height: auto; } body.skin--responsive .mw-parser-output .thumb .thumbinner > .thumbcaption { width: revert; } /* packed-overlay and packed-hover modes for galleries */ ul.mw-gallery-packed-hover li.gallerybox:hover div.gallerytextwrapper, ul.mw-gallery-packed-overlay li.gallerybox div.gallerytextwrapper, ul.mw-gallery-packed-hover li.gallerybox.mw-gallery-focused div.gallerytextwrapper { background: color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 65%, transparent); } /* Responsive floating thumbnails */ @media screen and (max-width: 720px) { div.tright, div.floatright, div.tleft, div.floatleft { float: none; margin: 0 auto; width: fit-content; } } /***************** * End thumbnails * ******************/ /************** * Wiki editor * ***************/ #wpTextbox0 { /* need !important here to override inline styling */ background-color:var(--wiki-content-background-color) !important; } .wikiEditor-ui { border: none; } .wikiEditor-ui .wikiEditor-ui-top, .wikiEditor-ui .wikiEditor-ui-view { border-color:var(--wiki-content-border-color); } .wikiEditor-ui-toolbar { background: var(--wiki-content-background-color--secondary); } .wikiEditor-ui-toolbar .group, .wikiEditor-ui-toolbar .section-secondary .group { border-color:var(--wiki-content-border-color); } .wikiEditor-ui-toolbar .tabs span.tab a, .wikiEditor-ui-toolbar .tabs span.tab a:visited, .wikiEditor-ui-toolbar .tabs span.tab a.current, .wiikiEditor-ui-toolbar .tabs span.tab a.current:visited, .wikiEditor-ui-toolbar .booklet .index .current { color: var(--wiki-content-link-color); } .wikiEditor-ui-toolbar .group .tool-select .options { background: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); } .wikiEditor-ui-toolbar .group .tool-select .options .option { color: var(--wiki-content-text-color); } .wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover { background-color: var(--wiki-content-background-color); } .wikiEditor-ui-toolbar .tabs span.tab a::before, .wikiEditor-ui-toolbar .group .tool-select .label::after { filter: var(--wiki-icon-general-filter); } .wikiEditor-ui-toolbar .group .label, .wikiEditor-ui-toolbar .group .tool-select .label, .wikiEditor-ui-toolbar .page-table th, .wikiEditor-ui-toolbar .page-table td, .wikiEditor-ui-toolbar .page-characters div span, .wikiEditor-ui-toolbar .booklet .index div { color: var(--wiki-content-text-color); } .wikiEditor-ui-toolbar .booklet>.index> :hover { background-color: var(--wiki-content-background-color--secondary); } .wikiEditor-ui-toolbar .page-characters div span { border: 1px solid var(--wiki-content-border-color); } .wikiEditor-ui-toolbar .sections .section, .wikiEditor-ui-toolbar .booklet .pages, .wikiEditor-ui-toolbar .booklet .index .current, .wikiEditor-ui-toolbar .page-characters div span:hover { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 5%, transparent); } .wikiEditor-ui-toolbar .sections .section { border-top: 1px solid var(--wiki-content-border-color); } .wikiEditor-ui-toolbar .page-characters div span:hover { border-color: var(--wiki-content-border-color); } .wikiEditor-ui-toolbar .page-table td { border-top: 1px solid var(--wiki-content-border-color); } .wikiEditor-ui-tabs div a { background: #9A647F; display: inline-block; } .wikiEditor-ui-tabs div.current { border-bottom: 1px solid #3B3352; } .wikiEditor-ui-tabs div.current a { font-weight: bold; } .wikiEditor-ui-tabs { border-left: 1px solid #3B3352; border-top: 1px solid #3B3352; } .wikiEditor-ui-text { background-color:var(--wiki-content-dynamic-color--inverted); } .wikiEditor-preview-contents { background: transparent; background-color: rgba(255, 255, 255, 0.2); border-color: #3B3352; border-style: solid; border-width: 0 1px 1px; } .wikiEditor-ui-controls { background: transparent; } .wikiEditor-preview-contents, .wikiEditor-preview-loading { background-color: transparent; } .mw-wikiEditor-InsertLink-TitleInputField .oo-ui-messageWidget, .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--wiki-content-text-mix-color); } .wikiEditor-toolbar-dialog { max-width:100%; box-sizing:border-box; } .wikiEditor-toolbar-dialog .ui-dialog-content input[type='text']::placeholder { color: var(--wiki-content-text-mix-color); } .ext-WikiEditor-ResizingDragBar { background-color: var(--wiki-content-background-color--secondary); } .ext-WikiEditor-ResizingDragBar-ns { border-color: var(--wiki-content-border-color); } .ext-WikiEditor-ResizingDragBar span { background-color: var(--wiki-content-border-color); } .ext-WikiEditor-ResizingDragBar:hover span { background-color: var(--wiki-content-text-mix-color); } .ext-WikiEditor-twopanes-TwoPaneLayout .ext-WikiEditor-twopanes-pane1, .ext-WikiEditor-twopanes-TwoPaneLayout .ext-WikiEditor-twopanes-pane2 { border-color: var(--wiki-content-border-color); } .ext-WikiEditor-realtimepreview-button.oo-ui-toggleWidget-on .oo-ui-labelElement-label { color: var(--wiki-accent-color); } .wikiEditor-ui-toolbar .group, .wikiEditor-ui-toolbar .section-secondary .group { border-color: var(--wiki-content-border-color); } .ext-WikiEditor-realtimepreview-button:hover { background-color: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent); color: var(--wiki-accent-color); border-color:var(--wiki-accent-color); box-shadow:inset 0 0 3px var(--wiki-accent-color); } .ext-WikiEditor-realtimepreview-ErrorLayout { background-color:var(--wiki-content-background-color); } .ext-WikiEditor-image-realtimepreview-error { filter:var(--wiki-icon-general-filter); } .oo-ui-toggleButtonWidget.oo-ui-widget-enabled.oo-ui-buttonElement-frameless.oo-ui-toggleWidget-on .oo-ui-buttonElement-button { background-color: var(--wiki-content-background-color--secondary); } .ext-WikiEditor-reloadButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled>.oo-ui-buttonElement-button, .ext-WikiEditor-reloadButton.oo-ui-buttonElement-framed.oo-ui-widget-enabled>.oo-ui-buttonElement-button:hover { background-color: var(--wiki-content-background-color); } .editOptions { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border-color: var(--wiki-content-border-color); border-image: none; border-radius: 0 0 5px 5px; border-style: none solid solid; border-width: medium 1px 1px; } input#wpSummary { margin-bottom: 1em; margin-top: 1em; width: 80%; } .view-dark .ace_editor, .ace_editor { --ace-keywords: #CDA869; --ace-regexp: #E9C062; --ace-constants: #CF6A4C; --ace-illegal: #F8F8F8; --ace-deprecated: #D2A8A1; --ace-support: #9B859D; --ace-function: #DAD085; --ace-list: #F9EE98; --ace-variable: #7587A6; --ace-string: #8F9D6A; --ace-illegal-highlight: rgba(86, 45, 86, 0.75); --ace-step-highlight: #665200; --ace-multiselect-shadow: #141414; } .view-light .ace_editor{ --ace-keywords: #00f; --ace-regexp: #036a07; --ace-constants: #c5060b; --ace-illegal: #f00; --ace-deprecated: #f00; --ace-support: #6d79de; --ace-function: #3c4c72; --ace-list: #b90690; --ace-variable: #318495; --ace-string: #036a07; --ace-illegal-highlight: rgba(255, 0, 0, 0.1); --ace-step-highlight: #fcff00; --ace-multiselect-shadow: #fff; } .ace_editor .ace_gutter { background: color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 85%, transparent); } .ace_gutter-cell { color: color-mix(in srgb, var(--wiki-content-dynamic-color) 40%, transparent); } .ace_editor .ace_print-margin { width: 1px; background: color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 75%, transparent); } .ace_editor { /* this image gradient hack effectively lets the element have 2 layers of background */ background-image: linear-gradient(var(--wiki-content-dynamic-color), var(--wiki-content-dynamic-color)); background-color: color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 93%, transparent); color: color-mix(in srgb, var(--wiki-content-dynamic-color) 93%, transparent); } .ace_editor .ace_cursor, .ace-monokai .ace_punctuation, .ace-monokai .ace_punctuation.ace_tag { color: var(--wiki-content-text-color); } .ace_editor .ace_marker-layer .ace_selection { background: color-mix(in srgb, var(--wiki-content-dynamic-color) 20%, transparent) } .ace_editor.ace_multiselect .ace_selection.ace_start { box-shadow: 0 0 3px 0px var(--ace-multiselect-shadow); } .ace_editor .ace_marker-layer .ace_step { background: var(--ace-step-highlight); } .ace_editor .ace_marker-layer .ace_active-line, .ace_editor .ace_gutter-active-line { background: color-mix(in srgb, var(--wiki-content-dynamic-color) 3.1%, transparent) } .ace-tm .ace_marker-layer .ace_selected-word { background: color-mix(in srgb, var(--wiki-content-dynamic-color) 5%, transparent); } .ace_editor .ace_marker-layer .ace_selection { background: color-mix(in srgb, var(--wiki-content-dynamic-color) 10%, transparent); } .ace_editor .ace_marker-layer .ace_selected-word { border: 1px solid color-mix(in srgb, var(--wiki-content-dynamic-color) 20%, transparent); } .ace_editor .ace_invisible { color: color-mix(in srgb, var(--wiki-content-dynamic-color) 25%, transparent); } .ace_editor .ace_keyword, .ace_editor .ace_meta { color: var(--ace-keywords); } .ace_editor .ace_constant, .ace_editor .ace_constant.ace_numeric, .ace_editor .ace_constant.ace_character, .ace_editor .ace_constant.ace_character.ace_escape, .ace_editor .ace_constant.ace_other, .ace_editor .ace_heading, .ace_editor .ace_markup.ace_heading, .ace_editor .ace_support.ace_constant { color: var(--ace-constants); } .ace_editor .ace_invalid.ace_illegal { color: var(--ace-illegal); background-color: var(--ace-illegal-highlight); } .ace_editor .ace_invalid.ace_deprecated { text-decoration: underline; font-style: italic; color: var(--ace-deprecated); } .ace_editor .ace_support, .ace_editor .ace_support.ace_type { color: var(--ace-support); } .ace_editor .ace_fold { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 10%, transparent); border-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 10%, transparent); } .ace_editor .ace_support.ace_function { color: var(--ace-function); } .ace_editor .ace_list, .ace_editor .ace_markup.ace_list, .ace_editor .ace_storage { color: var(--ace-list); } .ace_editor .ace_entity.ace_name.ace_function, .ace_editor .ace_meta.ace_tag, .ace_editor .ace_variable { color: var(--ace-variable); } .ace_editor .ace_string { color: var(--ace-string); } .ace_editor .ace_string.ace_regexp { color: var(--ace-regexp); } .ace_editor .ace_comment { font-style: italic; color: color-mix(in srgb, var(--wiki-content-dynamic-color) 30%, transparent); } .ace_editor .ace_xml-pe { color: color-mix(in srgb, var(--wiki-content-dynamic-color) 28%, transparent); } .ace_editor .ace_indent-guide { background:none; border-right:1px solid var(--wiki-content-dynamic-color); border-right:1px solid color-mix(in srgb, var(--wiki-content-dynamic-color) 20%, transparent); } .ace_search { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border: 1px solid var(--wiki-content-border-color); } .ace_search_field { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-mix-color); } .ace_button { color: var(--wiki-content-text-color); border: 1px solid var(--wiki-content-border-color); } .ace_button:hover { background-color: var(--wiki-accent-color--hover); color: var(--wiki-accent-label-color); } .ace_button.checked { background-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .ace_searchbtn { background-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); border: 1px solid var(--wiki-content-border-color); } .ace_searchbtn:hover { background-color: var(--wiki-accent-color--hover); color: var(--wiki-accent-label-color); } .ace_searchbtn.prev::after, .ace_searchbtn.next::after { border-color: var(--wiki-accent-label-color); } .ace_searchbtn_close { filter: var(--wiki-icon-general-filter); } .wikiEditor-ui .codeEditor-status { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .mw-editform #wpTextbox1 { background: color-mix(in srgb, var(--wiki-content-background-color) 50%, transparent); color: var(--wiki-content-text-color); } .view-dark .ext-codemirror-wrapper, .ext-codemirror-wrapper { --codemirror-yellow: #ffd700; --codemirror-light-blue: #adf; --codemirror-blue: #08f; --codemirror-green: #290; --codemirror-red: #f50; --codemirror-dark-red: #dd1616; --codemirror-purple: #CD4EF9; --codemirror-pink: #e0e; --codemirror-light-gray: #eee; --codemirror-gray: #84a0a0; } .view-light .ext-codemirror-wrapper { --codemirror-yellow: #9e8500; --codemirror-light-blue: #008ae7; --codemirror-blue: #0085f9; --codemirror-green: #290; --codemirror-red: #ef4f00; --codemirror-dark-red: #a11; --codemirror-purple: #80c; --codemirror-pink: #ed00ed; --codemirror-light-gray: #858585; --codemirror-gray: #6b8a8a; } .ext-codemirror-wrapper { background-color: color-mix(in srgb, var(--wiki-content-background-color) 35%, transparent); color: var(--wiki-content-text-color) } .cm-editor .cm-selectionBackground, .cm-editor.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground { background: color-mix(in srgb, var(--wiki-accent-color) 30%, transparent); } .cm-mw-keyword { color: var(--codemirror-purple) } .cm-mw-def { color: var(--codemirror-blue) } .cm-mw-variable-2 { color: var(--codemirror-light-blue) } .cm-mw-string { color: var(--codemirror-red) } .cm-mw-atom { color: var(--codemirror-pink) } .cm-mw-number { color: var(--codemirror-green) } .cm-mw-matching { background-color: var(--codemirror-yellow) } .cm-mw-skipformatting { background-color: var(--codemirror-light-blue) } .cm-mw-list { color: var(--codemirror-blue) } .cm-mw-doubleUnderscore, .cm-mw-hr, .cm-mw-signature { background-color: var(--wiki-content-background-color--secondary); color: var(--codemirror-blue) } .cm-mw-indenting { color: var(--codemirror-blue) } .cm-mw-mnemonic { color: var(--codemirror-green) } .cm-mw-comment { color: var(--codemirror-gray) } .cm-mw-apostrophes-bold, .cm-mw-apostrophes-italic, .cm-mw-section-header { color: var(--codemirror-blue) } .cm-mw-template, .cm-mw-template-argument-name, .cm-mw-template-bracket, .cm-mw-template-delimiter, .cm-mw-template-name { color: var(--codemirror-purple); } .cm-mw-templatevariable, .cm-mw-templatevariable-bracket, .cm-mw-templatevariable-delimiter, .cm-mw-templatevariable-name { color: var(--codemirror-red) } .cm-mw-parserfunction-bracket, .cm-mw-parserfunction-delimiter, .cm-mw-parserfunction-name { color: var(--codemirror-dark-red) } .cm-mw-exttag-attribute, .cm-mw-exttag-bracket, .cm-mw-exttag-name, .cm-mw-htmltag-attribute, .cm-mw-htmltag-bracket, .cm-mw-htmltag-name { color: var(--codemirror-green) } .cm-mw-link, .cm-mw-link-pagename { color: var(--wiki-content-link-color) } .cm-mw-link-tosection { color: var(--codemirror-blue) } .cm-mw-extlink, .cm-mw-extlink-bracket, .cm-mw-extlink-protocol, .cm-mw-free-extlink, .cm-mw-free-extlink-protocol, .cm-mw-link-bracket, .cm-mw-link-delimiter { color: var(--wiki-content-link-color) } .cm-mw-table-bracket, .cm-mw-table-definition, .cm-mw-table-delimiter { color: var(--codemirror-pink) } .cm-mw-matchingbracket { background-color: var(--wiki-content-background-color--secondary); box-shadow: inset 0 0 1px 1px var(--wiki-content-link-color); font-weight: bold; } .cm-editor .cm-tooltip-autocomplete ul li[aria-selected] { background: color-mix(in srgb, var(--wiki-content-link-color) 15%, var(--wiki-content-background-color)); color: var(--wiki-content-link-color); } /* VisualEditor: Fix broken toolbar layout */ .oo-ui-toolbar { clear: none; } .ve-init-mw-desktopArticleTarget-toolbar-open > .oo-ui-toolbar-bar > div:nth-child(4) { display: none; } .ve-ui-toolbar-floating > .oo-ui-toolbar-bar { top: var( --wikigg-header-height ); } .oo-ui-toolbar-bar .oo-ui-toolbar-bar, .ve-area-wrapper .oo-ui-toolbar-bar { background-color: var(--wiki-content-background-color--secondary); } .ve-init-mw-desktopArticleTarget-originalContent .content-body { clear: right; } /* fix a lot of empty space from TemplateData when using VE Source */ .tdg-editscreen-main.mw-body-content::after { display:none; } /************* * End editor * **************/ /**************** * Tabber styles * *****************/ .tabber__header { box-shadow: inset 0 -1px 0 0 var(--wiki-content-border-color); } .tabber__tab, .tabber__tab:visited { color:var(--wiki-content-text-color); } .tabber__tab:hover, .tabber__tab:hover:visited, .tabber__tab[aria-selected="true"], .tabber__tab[aria-selected="true"]:visited { color: var(--wiki-content-link-color); } .tabber__tab[aria-selected="true"] { box-shadow: 0 -2px 0 var(--wiki-content-link-color) inset; } .tabber__header__prev::after, .tabber__header__next::after { filter: var(--wiki-icon-general-filter); } /******************** * End Tabber styles * *********************/ /*************************************** * Various fixes for multi-theme Vector * ****************************************/ :focus, :focus-visible { outline-color:var(--wiki-accent-color) } :focus-visible { outline-style:solid; } .oo-ui-iconElement-icon { filter: var(--wiki-icon-to-link-filter); } .oo-ui-iconElement-icon.oo-ui-icon-reload { filter: brightness(0) var(--wiki-icon-to-link-filter); } fieldset { border-color:var(--wiki-content-border-color); } hr { background-color:var(--wiki-content-border-color); } .CategoryTreeToggle { color:var(--wiki-content-link-color); } input, select { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-color); } input:hover, input:focus, input:active { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border-color: var(--wiki-accent-color); box-shadow: none; } input:focus-visible { outline: 1px solid var(--wiki-accent-color); } input::file-selector-button, input[type="button"], input[type="submit"] { background-color:var(--wiki-accent-color); border-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .vector-body blockquote { border-color:var(--wiki-content-border-color); } /* category bar and filetoc */ .catlinks, ul#filetoc { background: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); } /**/ body .ui-dialog .ui-widget-header { /* we need an important here because the built-in styles have one :( */ background: var(--wiki-content-background-color) !important; border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .ui-widget-header .ui-dialog-titlebar-close .ui-icon-closethick { filter: var(--wiki-icon-general-filter); } .ui-widget-header .ui-dialog-titlebar-close.ui-state-hover { background: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); } .ui-widget-content { background: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border: 1px solid var(--wiki-content-border-color); } body .ui-button { /* we need an important here because the built-in styles have one. Vector is a mess */ background: var(--wiki-accent-color) !important; border-color: var(--wiki-accent-color) !important; color: var(--wiki-accent-label-color); } body .ui-button:hover, body .ui-button:focus, body .ui-button:active { /* we need an important here because we had to use some above */ background: var(--wiki-accent-color--hover) !important; border-color: var(--wiki-accent-color--hover) !important; color: var(--wiki-accent-label-color); } .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { color: var(--wiki-accent-label-color); } #contentSub, #contentSub2 { color:var(--wiki-content-text-mix-color); } /* notifications ("your edit was saved", etc.) */ .mw-notification { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border-color: var(--wiki-content-border-color); } .mw-notification .oo-ui-labelElement-label { color:var(--wiki-content-text-color); } .mw-notification .oo-ui-iconElement-icon { filter:unset; } /**/ .mime-type.has-warning { color:var(--wiki-content-text-color); } .oo-ui-image-warning.oo-ui-icon-alert, .mw-ui-icon-alert-warning::before { filter:drop-shadow(0 0 3px #000); } .oo-ui-image-invert.oo-ui-icon-subtract, .mw-ui-icon-subtract-invert::before, .oo-ui-image-invert.oo-ui-icon-add, .mw-ui-icon-add-invert::before { filter:brightness(0) var(--wiki-icon-to-link-filter); filter:var(--wiki-icon-general-filter); } .mw_metadata td, .mw_metadata th { border-color: var(--wiki-content-border-color); } .mw_metadata th { background-color: var(--wiki-content-background-color--secondary); } .mw_metadata td { background-color: var(--wiki-content-background-color); } .mw-datatable td, .mw-datatable th { background-color: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); } #mw-allmessagestable tbody:hover td, .mw-datatable tr:hover>td { background-color: var(--wiki-content-background-color--secondary); } #mw-allmessagestable .am_default { background-color: color-mix(in srgb, var(--wiki-accent-color) 80%, transparent); color: var(--wiki-accent-label-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable tbody:hover .am_default { background-color: color-mix(in srgb, var(--wiki-accent-color) 60%, transparent); } #mw-allmessagestable .am_actual { color: var(--wiki-accent-label-color); } #mw-allmessagestable tbody:hover .am_actual { background-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); } .mw-datatable, .mw-json { background-color: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); color: inherit; } .mw-datatable>*>tr>th, .mw-datatable>tr>th, .mw-json>*>tr>th, .mw-json>tr>th { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); padding-bottom: 9px; padding-top: 9px; } .mw-datatable>*>tr>td, .mw-datatable>tr>td, .mw-json>*>tr>td, .mw-json>tr>td { border-color: var(--wiki-content-border-color); } .mw-json tr { background-color: inherit; } .mw-json .mw-json-single-value, .mw-json .mw-json-value, .mw-json .value { background: color-mix(in srgb, var(--wiki-success-color) 60%, transparent); } .mw-json .mw-json-empty { background: var(--wiki-content-background-color--secondary); } .mw-message-box, .mw-message-box-warning { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); } .mw-message-box-warning { border-color: var(--wiki-warning-color); border-width: 1px 1px 1px 10px; } .mw-destfile-warning { border-color: var(--wiki-warning-color); color: var(--wiki-content-text-color); background-color: color-mix(in srgb, var(--wiki-warning-color) 25%, transparent); } .wikitable *, .wikitable :after, .wikitable :before { -webkit-box-sizing: inherit; box-sizing: inherit; } .cargo-pagevalues-tableinfo { background-color: var(--wiki-content-background-color); border-bottom: 1px solid var(--wiki-content-border-color); top: 46px; position: static; /* override sticky in the built-in */ } .cargo-table-diagram .cargo-table-svg .node.entity-name rect { fill: var(--wiki-content-background-color--secondary); fill-opacity: 1; } .cargo-table-diagram .cargo-table-svg .node rect { stroke: var(--wiki-content-border-color); opacity: 1; } .cargo-table-diagram .cargo-table-svg .node text tspan { fill: var(--wiki-content-text-color); } table.cargoTable { color: var(--wiki-content-text-color); } table.cargoTable tbody td, table.cargoTable thead th { border: 1px solid var(--wiki-content-border-color); } table.cargoTable tr:hover { background-color: color-mix(in srgb, var(--wiki-accent-color) 25%, transparent); } table.cargoTable thead tr:nth-child(odd), table.cargoTable.noMerge thead tr:nth-child(odd) { background-color: var(--wiki-accent-color); } table.cargoTable tbody tr:nth-child(2n), table.cargoTable.noMerge tbody tr:nth-child(2n) { background-color: var(--wiki-content-background-color); } table.cargoTable tbody tr:nth-child(odd), table.cargoTable.noMerge tbody tr:nth-child(odd) { background-color: var(--wiki-content-background-color--secondary); } table.cargoTable th.headerSort { color:var(--wiki-accent-label-color); } table.cargoTable th.headerSort:hover { color:var(--wiki-accent-label-color); text-decoration:underline; } table.cargoTable th.headerSort::after { background-color:var(--wiki-accent-link-color); } #mw-content-text div.cargoReplacementTableInfo { background: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); }.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_processing, .dataTables_wrapper .dataTables_paginate { color:var(--wiki-content-text-color); } table.dataTable tbody tr { background-color:var(--wiki-content-background-color); } table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 { background-color: color-mix(in srgb, var(--wiki-content-background-color--secondary) 75%, transparent); } table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd, table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 { background-color: color-mix(in srgb, var(--wiki-content-background-color--secondary) 50%, transparent); } table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { background-color: color-mix(in srgb, var(--wiki-content-background-color) 75%, transparent); } table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover { background-color: var(--wiki-content-background-color--secondary); } .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { /* we need this !important to override a built-in one */ color: var(--wiki-content-text-mix-color) !important; } table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td { border-top: 1px solid var(--wiki-content-border-color); } .dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { /* we need this !important to override a built-in one */ color: var(--wiki-content-mix-color) !important; border: 1px solid var(--wiki-content-border-color); background-color: var(--wiki-content-background-color); background: linear-gradient(to bottom,var(--wiki-content-background-color) 0%,var(--wiki-content-background-color--secondary) 100%); } div.drilldown-filters-wrapper { background-color: transparent; border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .action-pagevalues tr:nth-of-type(2n) { background-color: color-mix(in srgb, var(--wiki-content-background-color--secondary) 50%, transparent); } .action-pagevalues tr:hover { background-image: linear-gradient(color-mix(in srgb, var(--wiki-accent-color) 20%, transparent), color-mix(in srgb, var(--wiki-accent-color) 20%, transparent)); } div.specialCargoQuery-extraPane { background: var(--wiki-content-background-color); } .oo-ui-panelLayout-framed { border-color:var(--wiki-content-border-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled>.oo-ui-buttonElement-button { background-color: transparent; } .oo-ui-inputWidget-input + .oo-ui-image-invert.oo-ui-icon-check { background-image:none; } .oo-ui-inputWidget-input:checked + .oo-ui-image-invert.oo-ui-icon-check::before { position:absolute; width:100%; height:100%; top:0; left:0; background-image: url(/load.php?modules=oojs-ui-core.icons&image=check&variant=invert&format=rasterized&skin=vector&version=y9f1k); background-image: linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E check %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M7 14.2 2.8 10l-1.4 1.4L7 17 19 5l-1.4-1.4z%22/%3E%3C/g%3E%3C/svg%3E"); content:''; pointer-events: none; filter:var(--wiki-icon-general-filter); } .oo-ui-checkboxInputWidget [type="checkbox"] + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked + span { filter: unset; background-color: color-mix(in srgb, var(--wiki-accent-color) 5%, transparent); border-color: color-mix(in srgb, var(--wiki-accent-color) 75%, transparent); } .oo-ui-checkboxInputWidget [type="checkbox"]:disabled + span { background-color: var(--wiki-content-text-mix-color); border-color: var(--wiki-content-text-mix-color); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:hover+span { border-color: var(--wiki-accent-color); filter: unset; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate+span { background-color: var(--wiki-accent-color); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked:focus+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate:focus+span { box-shadow: none; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:active+span { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:focus+span { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); outline: 1px solid transparent; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked:focus+span { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:hover+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:active+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:focus+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked:hover+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked:active+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:checked:focus+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate:hover+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate:active+span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:indeterminate:focus+span { background-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); border-color: var(--wiki-accent-color); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type="checkbox"]:active + span { background-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent) } .oo-ui-image-invert.oo-ui-icon-check { background:none; position:relative; } .oo-ui-inputWidget-input:checked + .oo-ui-image-invert.oo-ui-icon-check::before { position:absolute; width:100%; height:100%; top:0; left:0; background-image: url(/load.php?modules=oojs-ui-core.icons&image=check&variant=invert&format=rasterized&skin=vector&version=y9f1k); background-image: linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E check %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M7 14.2 2.8 10l-1.4 1.4L7 17 19 5l-1.4-1.4z%22/%3E%3C/g%3E%3C/svg%3E"); content:''; pointer-events: none; filter:var(--wiki-icon-general-filter); } .oo-ui-indicatorElement-indicator { filter: var(--wiki-icon-to-link-filter); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not(.oo-ui-tagItemWidget-fixed) { background-color: var(--wiki-content-background-color--secondary); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { color: var(--wiki-content-text-color--hover); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:focus { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .oo-ui-tagItemWidget.oo-ui-widget-disabled { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-mix-color); border-color: var(--wiki-content-text-mix-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--wiki-content-border-color); } .mw-rcfilters-ui-savedLinksListWidget-placeholder.oo-ui-optionWidget .oo-ui-labelElement-label { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-savedLinksListWidget-menu .mw-rcfilters-ui-savedLinksListItemWidget { color: var(--wiki-content-text-color); padding: 8px 6px; -webkit-transition: color .3s, background-color .3s; transition: color .3s, background-color .3s; } .mw-rcfilters-ui-savedLinksListWidget-menu .mw-rcfilters-ui-savedLinksListItemWidget:hover { background-color: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent); color: var(--wiki-accent-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--wiki-accent-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: transparent; } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { border-color: var(--wiki-content-border-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle+.mw-rcfilters-ui-table, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle.mw-rcfilters-ui-filterTagMultiselectWidget-emphasize { background-color: var(--wiki-content-background-color--secondary); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--wiki-content-border-color); padding: 0; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-savedQueryTitle { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-hideshowButton .oo-ui-buttonElement-button>.oo-ui-labelElement-label { color: var(--wiki-content-link-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-hideshowButton .oo-ui-buttonElement-button>.oo-ui-labelElement-label:hover { color: var(--wiki-content-link-color--hover); } .mw-rcfilters-ui-filterTagMultiselectWidget-hideshowButton .oo-ui-buttonElement-button:before { content: "["; } .mw-rcfilters-ui-filterTagMultiselectWidget-hideshowButton .oo-ui-buttonElement-button:after { content: "]"; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive>.oo-ui-buttonElement-button { color: var(--wiki-content-text-color); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--wiki-content-dynamic-color--inverted); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: color-mix(in srgb, var(--wiki-content-text-color) 60%, transparent); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--wiki-content-background-color); } .oo-ui-menuSelectWidget { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-text-mix-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { background-color: var(--wiki-content-background-color); border-bottom-color: var(--wiki-content-border-color); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--wiki-content-text-mix-color); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--wiki-content-border-color); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-optionWidget-selected, .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-optionWidget-selected .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget:hover, .mw-rcfilters-ui-itemMenuOptionWidget:hover .mw-rcfilters-ui-itemMenuOptionWidget-label-title { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-optionWidget-selected .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type=checkbox]+span, .mw-rcfilters-ui-itemMenuOptionWidget:hover .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type=checkbox]+span { border-color: var(--wiki-accent-color); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-optionWidget-selected, .mw-rcfilters-ui-itemMenuOptionWidget:hover { background-color: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent) } .mw-rcfilters-ui-itemMenuOptionWidget-excludeLabel, .mw-rcfilters-ui-itemMenuOptionWidget-label-title { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: color-mix(in srgb, var(--wiki-content-text-color) 60%, transparent); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted.oo-ui-optionWidget-selected:hover, .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected):hover { background-color: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted.oo-ui-optionWidget-selected .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) .mw-rcfilters-ui-itemMenuOptionWidget-label-title { color: var(--wiki-content-text-color); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted.oo-ui-optionWidget-selected .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: color-mix(in srgb, var(--wiki-content-text-color) 60%, transparent); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-optionWidget-selected .mw-rcfilters-ui-itemMenuOptionWidget-label-desc, .mw-rcfilters-ui-itemMenuOptionWidget:hover .mw-rcfilters-ui-itemMenuOptionWidget-label-desc, .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: color-mix(in srgb, var(--wiki-content-text-color) 80%, transparent); } .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted.oo-ui-optionWidget-selected .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type=checkbox]+span, .mw-rcfilters-ui-itemMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type=checkbox]+span { border-color: var(--wiki-content-text-color); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: color-mix(in srgb, var(--wiki-content-text-color) 60%, transparent); } .oo-ui-tagItemWidget.oo-ui-widget-enabled, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: transparent; color: var(--wiki-content-text-color); border-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled.selected { background-color: color-mix(in srgb, var(--wiki-accent-color) 10%, transparent); border-color: var(--wiki-accent-color); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--wiki-content-border-color); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: color-mix(in srgb, var(--wiki-content-text-color) 80%, transparent); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } @keyframes fadeBlue { 60% { border-top-color:var(--wiki-accent-color); } 100% { border-top-color:var(--wiki-content-border-color); } } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-top-color: var(--wiki-content-border-color); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--wiki-content-text-mix-color-95); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: color-mix(in srgb, var(--wiki-content-text-color) 10%, transparent); } .oo-ui-iconElement-icon.mw-rcfilters-ui-filterItemHighlightButton-circle { filter:unset; } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .mw-rcfilters-ui-tagItemWidget-selected.oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); border-color:var(--wiki-accent-color); } .mw-rcfilters-ui-tagItemWidget.oo-ui-flaggedElement-muted.oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-labelElement-label { color: color-mix(in srgb, var(--wiki-content-text-color) 76%, transparent); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: color-mix(in srgb, var(--wiki-content-text-color) 75%, transparent); } /* fix for weird focus box on recentchanges arrows when clicking, but keep it for tab navigation */ .mw-enhancedchanges-checkbox:focus + * .mw-enhancedchanges-arrow { outline:none; } .mw-enhancedchanges-checkbox:focus-visible + * .mw-enhancedchanges-arrow { outline:1px solid var(--wiki-accent-color); } /**/ .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--wiki-content-border-color); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--wiki-content-background-color--secondary); } .unpatrolled { color: var(--wiki-alert-color); } .autocomment, .autocomment a, .autocomment a:visited { color: var(--wiki-content-text-mix-color); } /* Recent changes filter highlighting */ .view-dark .mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c1, .view-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c1 tr:first-child, .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c1.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)), .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c1.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) { background-color: #1c283f; } .view-dark .mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c2, .view-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c2 tr:first-child, .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c2.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)), .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c2.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) { background-color: #0f3128; } .view-dark .mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c3, .view-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c3 tr:first-child, .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)), .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c3.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) { background-color: #352c10; } .view-dark .mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c4, .view-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c4 tr:first-child, .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c4.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)), .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c4.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) { background-color: #411d0c; } .view-dark .mw-rcfilters-ui-changesListWrapperWidget li.mw-rcfilters-highlight-color-c5, .view-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-rcfilters-highlight-color-c5 tr:first-child, .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c5.mw-rcfilters-ui-highlights-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+2)), .view-dark .mw-rcfilters-ui-changesListWrapperWidget tr.mw-rcfilters-highlight-color-c5.mw-rcfilters-ui-highlights-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not(:nth-child(-n+4)) { background-color: #3f0f0f; } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: transparent; } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); color: var(--wiki-content-text-color); -webkit-transition: border-color 300ms, box-shadow 300ms; transition: border-color 300ms, box-shadow 300ms; background-color: var(--wiki-content-background-color--secondary) } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-inlined.oo-ui-tagMultiselectWidget-focus .oo-ui-tagMultiselectWidget-handle { box-shadow: inset 0 0 0 1px var(--wiki-accent-color); border-color: var(--wiki-accent-color); outline: 0 } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-inlined:hover .oo-ui-tagMultiselectWidget-handle { border-color: var(--wiki-accent-color) } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-inlined.oo-ui-flaggedElement-invalid .oo-ui-tagMultiselectWidget-handle, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-inlined.oo-ui-flaggedElement-invalid:hover .oo-ui-tagMultiselectWidget-handle { border-color: var(--wiki-alert-color) } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagMultiselectWidget-handle { background-color: var(--wiki-content-background-color--secondary); border-bottom-width: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0 } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-inputWidget-input { border-radius: 0; } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined.oo-ui-flaggedElement-invalid .oo-ui-inputWidget-input { border-color: var(--wiki-alert-color); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid .oo-ui-inputWidget-input { color: var(--wiki-alert-color); } .oo-ui-tagMultiselectWidget.oo-ui-widget-disabled .oo-ui-tagMultiselectWidget-handle { opacity: 0.5; } .oo-ui-tagMultiselectWidget-handle .oo-ui-tagMultiselectWidget-group > input { color:var(--wiki-content-text-color); } .oo-ui-tagMultiselectWidget .oo-ui-inputWidget-input { color: inherit; background: transparent; font-family: inherit; } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle, .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input, .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { background: var(--wiki-content-text-mix-color-95); color: color-mix(in srgb, var(--wiki-content-text-color) 25%, transparent); text-shadow:none; border-color:var(--wiki-content-text-mix-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color:var(--wiki-content-text-mix-color); } .oo-ui-dropdownInputWidget select { border-color:var(--wiki-content-border-color); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color:var(--wiki-accent-color); box-shadow:inset 0 0 0 1px var(--wiki-accent-color); } .oo-ui-toggleSwitchWidget { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--wiki-content-text-mix-color-95); background-color: color-mix(in srgb, var(--wiki-content-background-color--secondary) 95%, var(--wiki-content-dynamic-color)); border-color: var(--wiki-content-border-color); border-color: color-mix(in srgb, var(--wiki-content-border-color) 95%, var(--wiki-content-dynamic-color)); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); border-color: #0006; } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--wiki-accent-color); background-color: color-mix(in srgb, var(--wiki-accent-color) 90%, var(--wiki-content-dynamic-color)); border-color: #0006; } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--wiki-accent-label-color); border-color: #0006; } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--wiki-accent-color); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--wiki-accent-color--hover); border-color: var(--wiki-accent-color--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--wiki-accent-color--hover); border-color: var(--wiki-accent-color--hover); box-shadow: inset 0 0 0 1px var(--wiki-accent-color--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--wiki-accent-label-color); border-color: var(--wiki-accent-label-color); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--wiki-accent-color--hover); border-color: var(--wiki-accent-color--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--wiki-accent-color); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: var(--wiki-accent-label-color); } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--wiki-content-text-mix-color-95); border-color: var(--wiki-content-text-mix-color-95); } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled.oo-ui-toggleWidget-off .oo-ui-toggleSwitchWidget-grip { border-color: var(--wiki-content-dynamic-color--inverted); box-shadow: inset 0 0 0 1px var(--wiki-content-dynamic-color--inverted); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-selected, .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-link-color); } .oo-ui-labelWidget.oo-ui-inline-help { color: color-mix(in srgb, var(--wiki-content-text-color) 80%, transparent); } .oo-ui-progressBarWidget:not(.oo-ui-pendingElement-pending){ background-color: var(--wiki-content-background-color); border-color: var(--wiki-accent-color); box-shadow: 0 1px 1px color-mix(in srgb, var(--wiki-content-dynamic-color) 15%, transparent); } .oo-ui-progressBarWidget.oo-ui-widget-enabled .oo-ui-progressBarWidget-bar { background-color:var(--wiki-accent-color); } .oo-ui-bookletLayout-outlinePanel { padding: 7px 0; } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot, .oo-ui-messageDialog-content > .oo-ui-window-head, .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--wiki-content-border-color); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--wiki-content-border-color); } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) > .oo-ui-buttonElement-button:hover { background-color: var(--wiki-content-background-color); border-right-color: var(--wiki-content-border-color); } .oo-ui-messageDialog-title { color: var(--wiki-heading-color); } /* OAuth authorisation dialog */ #mw-mwoauth-authorize-form { color: inherit; } .oo-ui-toolbar-bar, .oo-ui-popupToolGroup-tools, .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color:var(--wiki-content-background-color--secondary); color:var(--wiki-content-text-color); } .oo-ui-popupToolGroup-tools { max-width:100%; } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color:var(--wiki-content-border-color); } .oo-ui-menuToolGroup-tools .oo-ui-tool.oo-ui-tool-active, .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link, .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--wiki-content-background-color); color: var(--wiki-content-link-color); } .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link { /* we remove the transition here because it causes the hard-coded color to flash briefly */ transition:none; } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { color:var(--wiki-accent-color); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color:var(--wiki-accent-color); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover, .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: color-mix(in srgb, var(--wiki-accent-color) 10%, transparent); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:active { background-color: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow:inset 0 0 0 2px var(--wiki-accent-color); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus, .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus, .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline:1px solid var(--wiki-accent-color); box-shadow:inset 0 0 0 1px var(--wiki-accent-color); } .oo-ui-menuToolGroup, .oo-ui-popupToolGroup-tools { border-color:var(--wiki-content-border-color); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-color: var(--wiki-content-border-color); box-shadow: 0 1px 1px 0 color-mix(in srgb, var(--wiki-content-dynamic-color) 10%, transparent); } .oo-ui-barToolGroup-tools.oo-ui-toolGroup-enabled-tools .oo-ui-tool.oo-ui-widget-disabled.oo-ui-flaggedElement-primary > .oo-ui-tool-link, .oo-ui-barToolGroup-tools.oo-ui-toolGroup-disabled-tools .oo-ui-tool.oo-ui-flaggedElement-primary > .oo-ui-tool-link { background-color: var(--wiki-content-text-mix-color); border-color: var(--wiki-content-text-mix-color); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color:var(--wiki-accent-color); color:var(--wiki-accent-label-color); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color:var(--wiki-accent-color--hover); color: var(--wiki-accent-label-color); } .oo-ui-buttonElement-frameless>.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--wiki-content-text-color); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { color: var(--wiki-content-text-color--hover); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--wiki-content-text-color); } .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { color: var(--wiki-content-text-color--hover); } .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive>.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button{ color: var(--wiki-alert-color); } .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled>.oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled>.oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled>.oo-ui-buttonElement-button:focus { color: var(--wiki-alert-color--hover); } .oo-ui-buttonElement-frameless>.oo-ui-buttonElement-button { border: 1px solid transparent; } .oo-ui-buttonElement-frameless>button.oo-ui-buttonElement-button { color: inherit; } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color),inset 0 0 0 2px var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus, .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { background-color: var(--wiki-accent-color--hover); border-color: var(--wiki-accent-color--hover); color: var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { background-color: #bf0017; border-color: #bf0017; color: #fff; } .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus, .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-destructive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { background-color: #59000b; border-color: #59000b; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { box-shadow: inset 0 0 0 1px var(--wiki-accent-color--hover),inset 0 0 0 2px var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color--hover); color: var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active.oo-ui-flaggedElement-progressive.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button{ background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-link-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: var(--wiki-accent-color); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { background-color: color-mix(in srgb, var(--wiki-content-link-color) 8%, transparent); color: var(--wiki-content-text-color); border-color: var(--wiki-content-text-mix-color); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: color-mix(in srgb, var(--wiki-content-link-color) 90%, transparent); border-color: color-mix(in srgb, var(--wiki-content-link-color) 90%, transparent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: transparent; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--wiki-content-dynamic-color--inverted); } .oo-ui-buttonSelectWidget.oo-ui-widget-enabled:focus .oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected .oo-ui-buttonElement-button { border-color: var(--wiki-accent-color--hover); box-shadow: inset 0 0 0 1px var(--wiki-accent-color--hover),inset 0 0 0 2px var(--wiki-accent-label-color); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(2n) td, .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--wiki-content-background-color--secondary); } .oo-ui-popupWidget-popup { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); color:var(--wiki-content-text-color); } .mw-advancedSearch-namespace-selection { background: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); } .oo-ui-popupWidget-popup .mw-advancedSearch-tooltip-head { color: var(--wiki-content-text-mix-color); } .oo-ui-menuSectionOptionWidget { color: var(--wiki-content-text-mix-color); } /* possibly deprecated */ .mw-ui-button:not(:disabled) { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); color: var(--wiki-accent-color); border-color: var(--wiki-content-border-color); } .mw-ui-button:not(:disabled):visited { color: var(--wiki-accent-color); } .mw-ui-button:not(:disabled):hover { background-color: var(--wiki-content-text-mix-color-95); border-color: var(--wiki-content-border-color); color: var(--wiki-accent-color--hover); } .mw-ui-button:not(:disabled):focus { border-color: var(--wiki-accent-color); color: var(--wiki-content-text-color); box-shadow: none; } .mw-ui-button:not(:disabled):active, .mw-ui-button:not(:disabled).is-on { background-color: var(--wiki-content-background-color); color: var(--wiki-content-dynamic-color); border-color: var(--wiki-content-link-color); } /* end possibly deprecated */ .mw-ui-icon-before::before { filter: var(--wiki-icon-to-link-filter); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--wiki-content-background-color); color: var(--wiki-content-text-color); border-color: var(--wiki-content-border-color); } .oo-ui-windowManager-modal>.oo-ui-dialog { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 50%, transparent); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color:var(--wiki-content-border-color); } .oo-ui-messageDialog-message { color: var(--wiki-content-text-color); } .oo-ui-buttonElement-framed:not(.oo-ui-flaggedElement-primary):not(.oo-ui-buttonElement-active) > .oo-ui-buttonElement-button { color: var(--wiki-content-text-color); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled:not(.oo-ui-flaggedElement-primary):not(.oo-ui-buttonElement-active) > .oo-ui-buttonElement-button { color: var(--wiki-content-text-mix-color-95); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--wiki-accent-color); border-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--wiki-accent-color--hover); border-color: var(--wiki-accent-color); box-shadow: inset 0 0 3px var(--wiki-accent-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled>.oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-link-color--hover); border-color: var(--wiki-content-link-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-disabled.oo-ui-flaggedElement-primary > .oo-ui-buttonElement-button { background-color: var(--wiki-content-text-mix-color); border-color: var(--wiki-content-text-mix-color); } .tdg-templateDataParamWidget-param-description { color: var(--wiki-content-text-mix-color); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .mw-body-content .error { color: var(--wiki-alert-color); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-alert-color); border-left-width: 10px; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--wiki-content-background-color--secondary); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-success-color); border-left-width: 10px; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-text-mix-color); } .tdg-templateDataParamWidget-param-alias { color: var(--wiki-content-text-mix-color); background-color: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); } .tdg-templateDataParamWidget-param-alias:first-child { background-color: var(--wiki-content-background-color--secondary); } .mw-templatedata-doc-muted { color: var(--wiki-content-text-mix-color); } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) > .oo-ui-buttonElement-button:active { background-color: var(--wiki-content-background-color--secondary); border-right-color: var(--wiki-accent-color); } /* Date picker */ .mw-widget-dateInputWidget-handle { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--wiki-accent-color); box-shadow: none; } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:focus { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle > .oo-ui-labelElement-label { color: var(--wiki-content-text-color); } .mw-widget-calendarWidget { border-color: var(--wiki-content-border-color); } .mw-widget-calendarWidget:focus { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .mw-widget-dateInputWidget-calendar { background-color: var(--wiki-content-background-color); } .mw-widget-dateInputWidget-calendar:focus { box-shadow: inset 0 0 0 1px var(--wiki-accent-color),0 2px 2px 0 rgba(0,0,0,0.2); } .mw-widget-calendarWidget-header .oo-ui-labelElement-label, .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-month, .mw-widget-calendarWidget-year { color: var(--wiki-content-text-color); } .mw-widget-calendarWidget-day-heading, .mw-widget-calendarWidget-day-additional { color: color-mix(in srgb, var(--wiki-content-text-color) 55%, transparent); } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .mw-widget-calendarWidget-item-selected { background-color: color-mix(in srgb, var(--wiki-accent-color) 90%, transparent); color: var(--wiki-accent-label-color); } .mw-widget-calendarWidget-item:hover { background-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--wiki-content-border-color); box-shadow: none; } .mw-widgets-datetime-calendarWidget-grid { overflow-x: initial; } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--wiki-content-border-color); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--wiki-content-background-color); } .mw-widgets-datetime-calendarWidget { background-color: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: color-mix(in srgb, var(--wiki-content-text-color) 55%, transparent); } /* Unpatrolled page creations on Special:NewPages */ .not-patrolled { background-color: color-mix(in srgb, var(--wiki-warning-color) 16%, transparent); } .mw-spinner-container > div::after { background-color:var(--wiki-content-text-color); } pre, code, .mw-code { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .mw-templatedata-doc-param-alias { color:var(--wiki-content-text-mix-color); } .mw-highlight, .view-light .mw-highlight { --pygments-background: color-mix(in srgb, var(--wiki-content-background-color--secondary) 50%, transparent); --pygments-err: #db0000; --pygments-c: #3a7575; --pygments-k: #008000; --pygments-o: #666; --pygments-ch: #3a7575; --pygments-cm: #3a7575; --pygments-cp: #986200; --pygments-cpf: #3a7575; --pygments-c1: #3a7575; --pygments-cs: #3a7575; --pygments-gd: #a00000; --pygments-gr: #db0000; --pygments-gh: #000080; --pygments-gi: #008100; --pygments-go: #6e6e6e; --pygments-gp: #000080; --pygments-gu: #800080; --pygments-gt: #04d; --pygments-kc: #008000; --pygments-kd: #008000; --pygments-kn: #008000; --pygments-kp: #008000; --pygments-kr: #008000; --pygments-kt: #b00040; --pygments-m: #666; --pygments-s: #ba2121; --pygments-na: #647421; --pygments-nb: #008000; --pygments-nc: #00f; --pygments-no: #800; --pygments-nd: #a412ff; --pygments-ni: #6d6d6d; --pygments-ne: #c9352e; --pygments-nf: #00f; --pygments-nl: #727200; --pygments-nn: #00f; --pygments-nt: #008000; --pygments-nv: #19177c; --pygments-ow: #a412ff; --pygments-w: #6e6e6e; --pygments-mb: #666; --pygments-mf: #666; --pygments-mh: #666; --pygments-mi: #666; --pygments-mo: #666; --pygments-sa: #ba2121; --pygments-sb: #ba2121; --pygments-sc: #ba2121; --pygments-dl: #ba2121; --pygments-sd: #ba2121; --pygments-s2: #ba2121; --pygments-se: #a55a1e; --pygments-sh: #ba2121; --pygments-si: #af4d74; --pygments-sx: #008000; --pygments-sr: #af4d74; --pygments-s1: #ba2121; --pygments-ss: #19177c; --pygments-bp: #008000; --pygments-fm: #00f; --pygments-vc: #19177c; --pygments-vg: #19177c; --pygments-vi: #19177c; --pygments-vm: #19177c; --pygments-il: #666; } .view-dark .mw-highlight { --pygments-background: color-mix(in srgb, var(--wiki-content-background-color--secondary) 50%, transparent); --pygments-err: #fe4242; --pygments-c: #4b9797; --pygments-k: #00a300; --pygments-o: #898989; --pygments-ch: #4b9797; --pygments-cm: #4b9797; --pygments-cp: #c17d00; --pygments-cpf: #4b9797; --pygments-c1: #4b9797; --pygments-cs: #4b9797; --pygments-gd: #ff3f3f; --pygments-gr: #fe4242; --pygments-gh: #7a7aff; --pygments-gi: #00a000; --pygments-go: #8a8a8a; --pygments-gp: #7a7aff; --pygments-gu: #f500f5; --pygments-gt: #4e84fe; --pygments-kc: #00a300; --pygments-kd: #00a300; --pygments-kn: #00a300; --pygments-kp: #00a300; --pygments-kr: #00a300; --pygments-kt: #fe357e; --pygments-m: #898989; --pygments-s: #e25e5e; --pygments-na: #80932a; --pygments-nb: #00a300; --pygments-nc: #7a7afe; --pygments-no: #ff4040; --pygments-nd: #bf5aff; --pygments-ni: #999; --pygments-ne: #da655f; --pygments-nf: #7a7afe; --pygments-nl: #a0a000; --pygments-nn: #7a7afe; --pygments-nt: #00a300; --pygments-nv: #8381e7; --pygments-ow: #bf5aff; --pygments-w: #bbb; --pygments-mb: #898989; --pygments-mf: #898989; --pygments-mh: #898989; --pygments-mi: #898989; --pygments-mo: #898989; --pygments-sa: #e25e5e; --pygments-sb: #e25e5e; --pygments-sc: #e25e5e; --pygments-dl: #e25e5e; --pygments-sd: #e25e5e; --pygments-s2: #e25e5e; --pygments-se: #d07125; --pygments-sh: #e25e5e; --pygments-si: #c17492; --pygments-sx: #00a300; --pygments-sr: #c17492; --pygments-s1: #e25e5e; --pygments-ss: #8381e7; --pygments-bp: #00a300; --pygments-fm: #7a7afe; --pygments-vc: #8381e7; --pygments-vg: #8381e7; --pygments-vi: #8381e7; --pygments-vm: #8381e7; --pygments-il: #898989; } div.mw-highlight, .skin-theme-clientpref-night div.mw-highlight { background-color: var(--wiki-content-dynamic-color--inverted); margin: 0.5em 0; } .mw-highlight .err {border-color: var(--pygments-err);} .mw-highlight .c {color: var(--pygments-c);} .mw-highlight .k {color: var(--pygments-k);} .mw-highlight .o {color: var(--pygments-o);} .mw-highlight .ch {color: var(--pygments-ch);} .mw-highlight .cm {color: var(--pygments-cm);} .mw-highlight .cp {color: var(--pygments-cp);} .mw-highlight .cpf {color: var(--pygments-cpf);} .mw-highlight .c1 {color: var(--pygments-c1);} .mw-highlight .cs {color: var(--pygments-cs);} .mw-highlight .gd {color: var(--pygments-gd);} .mw-highlight .gr {color: var(--pygments-gr);} .mw-highlight .gh {color: var(--pygments-gh);} .mw-highlight .gi {color: var(--pygments-gi);} .mw-highlight .go {color: var(--pygments-go);} .mw-highlight .gp {color: var(--pygments-gp);} .mw-highlight .gu {color: var(--pygments-gu);} .mw-highlight .gt {color: var(--pygments-gt);} .mw-highlight .kc {color: var(--pygments-kc);} .mw-highlight .kd {color: var(--pygments-kd);} .mw-highlight .kn {color: var(--pygments-kn);} .mw-highlight .kp {color: var(--pygments-kp);} .mw-highlight .kr {color: var(--pygments-kr);} .mw-highlight .kt {color: var(--pygments-kt);} .mw-highlight .m {color: var(--pygments-m);} .mw-highlight .s {color: var(--pygments-s);} .mw-highlight .na {color: var(--pygments-na);} .mw-highlight .nb {color: var(--pygments-nb);} .mw-highlight .nc {color: var(--pygments-nc);} .mw-highlight .no {color: var(--pygments-no);} .mw-highlight .nd {color: var(--pygments-nd);} .mw-highlight .ni {color: var(--pygments-ni);} .mw-highlight .ne {color: var(--pygments-ne);} .mw-highlight .nf {color: var(--pygments-nf);} .mw-highlight .nl {color: var(--pygments-nl);} .mw-highlight .nn {color: var(--pygments-nn);} .mw-highlight .nt {color: var(--pygments-nt);} .mw-highlight .nv {color: var(--pygments-nv);} .mw-highlight .ow {color: var(--pygments-ow);} .mw-highlight .w {color: var(--pygments-w);} .mw-highlight .mb {color: var(--pygments-mb);} .mw-highlight .mf {color: var(--pygments-mf);} .mw-highlight .mh {color: var(--pygments-mh);} .mw-highlight .mi {color: var(--pygments-mi);} .mw-highlight .mo {color: var(--pygments-mo);} .mw-highlight .sa {color: var(--pygments-sa);} .mw-highlight .sb {color: var(--pygments-sb);} .mw-highlight .sc {color: var(--pygments-sc);} .mw-highlight .dl {color: var(--pygments-dl);} .mw-highlight .sd {color: var(--pygments-sd);} .mw-highlight .s2 {color: var(--pygments-s2);} .mw-highlight .se {color: var(--pygments-se);} .mw-highlight .sh {color: var(--pygments-sh);} .mw-highlight .si {color: var(--pygments-si);} .mw-highlight .sx {color: var(--pygments-sx);} .mw-highlight .sr {color: var(--pygments-sr);} .mw-highlight .s1 {color: var(--pygments-s1);} .mw-highlight .ss {color: var(--pygments-ss);} .mw-highlight .bp {color: var(--pygments-bp);} .mw-highlight .fm {color: var(--pygments-fm);} .mw-highlight .vc {color: var(--pygments-vc);} .mw-highlight .vg {color: var(--pygments-vg);} .mw-highlight .vi {color: var(--pygments-vi);} .mw-highlight .vm {color: var(--pygments-vm);} .mw-highlight .il {color: var(--pygments-il);} .mw-highlight pre { background: var(--pygments-background); margin: 0; } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { padding-left: 3.5em; box-shadow: inset 2.75em 0 0 var(--wiki-content-dynamic-color--inverted); } .mw-highlight .hll { background-color: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent) } .mw-apisandbox-toolbar { background: var(--wiki-content-background-color--secondary); top: var( --wikigg-header-height ); } /* special:replacetext */ .ext-replacetext-searchoptions { background-color: transparent; border: 1px solid var(--wiki-content-border-color); } .ext-replacetext-searchoptions .ext-replacetext-divider { border-bottom: 1px solid var(--wiki-content-border-color); } /**/ .view-dark textarea { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .view-dark textarea:focus-visible { outline-color: var(--wiki-accent-color); outline-style: solid; } .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--wiki-accent-color); } /* make math formulas legible on dark theme */ .mwe-math-fallback-image-inline, .mwe-math-fallback-image-display, .ve-ui-mwLatexPage-symbol { filter: var(--wiki-icon-general-filter); } /* search bar */ #searchInput { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); color: var(--wiki-content-text-color); box-shadow: none; } #searchInput:focus, #simpleSearch:hover #searchInput, #simpleSearch:hover #searchInput:focus { border-color: var(--wiki-accent-color); box-shadow: none; } #searchButton { filter: var(--wiki-icon-to-link-filter); } .vector-search-box-input::placeholder { color:var(--wiki-content-text-mix-color); } /* Search suggestions */ .suggestions-results, .suggestions-special { background-color: var(--wiki-content-background-color--secondary); } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--wiki-content-text-color); } .suggestions-result { color: var(--wiki-content-link-color); } .suggestions-result-current { background-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .suggestions-special .special-label { color: var(--wiki-content-text-mix-color); } .suggestions-special.suggestions-result-current .special-label { color:var(--wiki-accent-label-color); } .suggestions-special .special-query { color: var(--wiki-link-label-color); } /* search page */ fieldset#mw-searchoptions { background-color: color-mix(in srgb, var(--wiki-content-background-color--secondary) 50%, transparent); border-color: var(--wiki-content-border-color); } #mw-searchoptions .divider { border-color: var(--wiki-content-border-color); } .mw-search-profile-tabs { background-color: color-mix(in srgb, var(--wiki-content-background-color--secondary) 50%, transparent); border: 1px solid var(--wiki-content-border-color); margin-top: 1em; } .mw-search-profile-tabs div.search-types ul li.current a { color: var(--wiki-content-text-color); } .results-info, .mw-search-result-data { color: var(--wiki-content-text-mix-color); } /**/ /* Login/register page */ .mw-number-text { color:var(--wiki-content-text-mix-color); } .mw-body-content .mw-number-text h3 { color:var(--wiki-heading-color); } .mw-number-text.icon-edits, .mw-number-text.icon-pages, .mw-number-text.icon-contributors { position:relative; background:none; } .mw-number-text.icon-edits::before, .mw-number-text.icon-pages::before, .mw-number-text.icon-contributors::before { position:absolute; width:95px; height:100%; left:0; top:0; content:''; filter:brightness(0) var(--wiki-icon-general-filter); } .mw-number-text.icon-edits::before { background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABLCAYAAADnAAD1AAACrUlEQVR4AWL4//8/oH170LEsiKIwXGPbtm0EY9s2g7bdjzh4oVnjyslKVZ3hSu+d5L/c0Xdx/Bt5jjCyAR3QAd9/+DhSW4oeoYmJGQdM4HWjYfQKTXTA8pZFeIgjOmA5Hkd0wDwe6TWa6IAcr4eA5RAdEC0neKWIDoieFcMRRPOAaDJ6+4uITxzwJ+KbmnjdaKkDliISPIv/gcvRxsT7kzgix7MGuBz1ooFyRIq3xOJ64ArUG0EMoMV5RI5nAJDjRV1Go1DIIL7meJKAAngc8Qn/tgoACuCNRtfRJhQyGQLkeJcI3u3oP3GzA5bjjYnwEEE0Acjx+urgEcRNVgFX1sUjdaHF9gA53sW/jScFKIC3SH8hIo5nDXAVwbtA8O6U4+kD6uPpA2rhWQNcXYh3N4HXSfAMAHK8838BTwBQF28hCpKAAnj3SvCsAa4heOdU8NQB5fGUAfXxhAEZ3lmCdz+B18Hx9ABN46kBrv1DeAtQsAZYivdAB08AMMLrJ3hBHU8BkOGdqcyMLcCbj4I1QH08YUCGd0kbTwCQ4MW1oFkR3kM5PAHAdVU8gjhPEk8AkOKRBjN481AwAxjhDRCM4Rq1EzwTgAzvGtoqiicAmMcbjRZI4wkATiP/eVe/4QU0DvXJ4gkAHq9gNEV4cdPRRtQjgycAOA51VkAOoECaiF5J4QkA7iVnuI+vgTcXBauAo1BjBeU0mZuCXlfm2gieOcCN5KzPadH7s9EF1CeJJwD4lKy2BLQM3UFDaFgSTwBwKcE5il6Q1wmeA95KQLGafuI54Ay+I4D2Fm1HY2QwBADPZdCG0EO0Wg5CAHAi6k1ce3E1fdDHAQ8TuG50Ml6F4TngGNQawTWjg2iCPoAG4I5vcG/QVrLDIJMDnvyNBYMDeg7ogA7ogJ4DOqBmnwD4A/itR9A4HwAAAABJRU5ErkJggg==) no-repeat left center; } .mw-number-text.icon-pages::before { background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABLCAYAAADnAAD1AAAByUlEQVR4Ae3XQ6JcQRhH8Rs7mYWT2LZt25rEtpNvicGCOid51lWhX3X/B78F1ClnjUZDHChCDgVUQAVUwF+//zTbaEzwJKuqFQJOwVOYB0fSDege8RnMg8OxA47HhMhGho4YM+BHWGTXMApZP1NxAqdKuIS3DhETC5gT0cEonM+LmH7A8BHHF4zhUMyAr3DKswt4ARvCVQ8RL8FyHIoV8DqyAEbidMCIu2AFDqUbEBiLd4EiroOVcDDdgMBJWI4rNSOugpV0MOWAa2EBIq6HVXAw1YDzYQEiboVVdCDFgLNhASIegtWwP7WAM2AVXC4Z8SKsho+pBZwDCxDxIZ7hGo5iN7ZgG/bjOj61QsB5sAARxyArMA7nUw+4GuYQcaSHv/PrlAPuhDnYh8zR9ZQDnoF1+ooXuI87uIvH+JoT8ES7B1yJxZiGETnbbAHuKqCbkbiqgG5mK6Cb8QqogAqogAqogAqogAqogAqogAqogAqogAqogAqogAqogAqogAqogAqogAqogAqogAqogG0acAwmVHRLAXschDlQQAVUwKYGXIZTDo7qFnakgAqogP4ooAK+waVh5GpSAROggAqogFKOAiqgAiqg/AUjJ7hc1MT1egAAAABJRU5ErkJggg==) no-repeat left center } .mw-number-text.icon-contributors::before { background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAtCAYAAAA5reyyAAAEMElEQVR4AWJ4/uLFYMJsgHbtIVhzLQqg8G7btm3bfLZt2/abtG3btm3btt19tXuNU5UbnV9VPfj2PCtODh7DaOzHDdzEIQxFG6SERItoilcPq6EOpqNsrAdMiWb4CQPQEx+jMsSH13Ad6tJRtIf4UBkfoyf642c0Q8pwBSyOEYiDWpzHP8gIcelZ3IV6dBENIS5lxD84D7WIwwgUD3XActjk8jTLDnFQAiegPm1FFoiD7JgKdbAJ5UIVMA0WQ10aCnEwHBrQ/xAHQ6EuLULqUAT8EurRkxAbtXEWGtBu5IPYeBLq0RemA6bDUqhHwyE2/oIa8qHho3wp0pkM2AS3oR4dRCmIFWZADRkEsUIpHIR6dBtNTAZ8DepDEhpDLIphL9Q9X0dMYyRBfXjNZMD3oT61hFjUwHmoITtQAGLREurT+yYDvgn1IQ4NwhBwP0pALBogDurDmyYDPgL14QjKQCzK43gYjsAyOAL14RGTAcvhKNSjWUgLsciDzVBDliG9zceJWT53fFlzAYGJUI/+g9iYCjVkBMTGv1CPJkJMB/wM6sEdtILY6Aw15A+IjVa4A/Xgs1C9ym2AujQVkoznkQgN6CpaQAwd7euQynxA4EMkuTz6noAkIxu2QQNaAXHwhMujMAkfhvpz1gSogwEQF/pAA/oV4sIAqIPxkFAHLIwVUBuLkQ/iQkNchPp0BHkhLuTDYocjuVDoAwLNobCKx7MQZ0buxn9CPHgO8VBYNYOEI2AxTIPaWI3SEJdq47rPz1jZIC6VxmqHm17RUAYsjm+wB+rgDH5FZYgL/0M9egjiQmX8hjNQB3vwDYqZClgRn2I8TkM9uoxp+BY1IDayYAnUpd8hyaiBbzEdl6EencZ4fIoKXgPWQ0eswTmoIRexCz9DYFUWh6AOeiEFBFYfYYv7aK6cxRp0RL3kAjbBSsRBQ+gwykBg1SrAF+5qOAUNoTisRBNrwHeQAA2D7hAbLQL+qOoBDYMEvA0RRm3cg4bQIYxBO4iNnFgOdfAoJBntMAaHoSF0D7WtbwOmJGIHBuFtFHJxhx8HdeEEnoI4KIS3MQg7kAg1rI8w9kMN2YQ/8RByQRwUxE844GPvj0B9iAu58BD+NPwdcp8wrkEDOoG3kR3iIC0exhAcgQZwHQvwOfJDXMiOt3ECGtA1EwH3oDLERgoUxisYhv24AzUoEWexCD+iJtJBklEF+yId8A7aQywyoCK+xCJcRSI0TO5iL7qjDXIjBcTiIdwNGnAetmKjR8fQHdYL93tYiSRolDiJzqgLseiOYz62fyvmCcOUJ3EAGuV6oUi0rVD9BBpDtqJstARsj3hojFmBdNEQcDw0Rn0V6YAVcBIao2YjXSQDtoDGsDOoFMmAD0FjXLMHAYN5KJIBW+FBwADq4x40hrWLZMCKOIhEXIsxd3EdDSF+3QeCfPkMAgchOAAAAABJRU5ErkJggg==) no-repeat left center } /**/ /* Multimedia viewer */ .mw-mmv-post-image, .mw-mmv-image-metadata { background-color: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis { box-shadow: -4px 6px 0 0 var(--wiki-content-background-color); } .mw-mmv-title-para .mw-mmv-ttf-ellipsis { background-color: var(--wiki-content-background-color); } .mw-mmv-title-para .mw-mmv-ttf-ellipsis::before { background-image: linear-gradient(to right, transparent 0%, var(--wiki-content-background-color) 100%); } .mw-mmv-ttf-ellipsis-container:hover .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis { background-color: var(--wiki-content-background-color--secondary); } .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis:hover, .mw-mmv-ttf-ellipsis-container .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis:hover { background-color: var(--wiki-content-text-mix-color-95); background-color: color-mix(in srgb, var(--wiki-content-background-color--secondary) 95%, var(--wiki-content-dynamic-color)); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); color: var(--wiki-accent-label-color); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--wiki-accent-color--hover); } .skin-vector .mw-ui-button.mw-ui-progressive:hover, .skin-vector .mw-ui-button.mw-ui-primary:disabled { box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.75) inset, 0 0 5px var(--wiki-content-border-color); border: 2px solid var(--wiki-content-border-color); } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--wiki-accent-color); border-color: var(--wiki-accent-color); } .mw-ui-button.mw-ui-progressive { box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.75) inset, 0 0 5px var(--wiki-content-border-color) } /* possibly deprecated */ .mw-ui-input:not(:disabled) { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .mw-ui-input:not(:disabled):hover, .mw-ui-input:not(:disabled):focus { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); border-color: var(--wiki-accent-color); box-shadow: none; } .mw-ui-input::placeholder { color:var(--wiki-content-text-mix-color); } /* end possibly deprecated */ .mw-mmv-dialog { background-color: var(--wiki-content-background-color); box-shadow: 0 2px 2px 0 var(--wiki-content-border-color); } .mw-mmv-dialog .mw-mmv-dialog-down-arrow { background-color: var(--wiki-content-background-color); } .mw-mmv-options-dialog-header { color: var(--wiki-content-text-color); } .mw-mmv-options-text-header, .mw-mmv-options-text-body { color: var(--wiki-content-text-mix-color); } .mw-mmv-download-pane .mw-mmv-download-area .mw-mmv-download-select-menu { background-image: none; } .mw-mmv-download-pane .mw-mmv-download-area .mw-mmv-download-select-menu span { display: none; } .mw-mmv-download-pane .mw-mmv-download-area .mw-mmv-download-select-menu::after { display:inline-block; width:8px; height:100%; content:''; --mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 12 12%22%3E %3Cpath fill=%22%23000%22 fill-rule=%22evenodd%22 d=%22m2.023 3 3.49 5.953L9 3z%22 clip-rule=%22evenodd%22/%3E %3C/svg%3E") no-repeat; --mask-size: 12px; --mask-position: center; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: var(--mask-size); mask-size: var(--mask-size); -webkit-mask-position: var(--mask-position); mask-position: var(--mask-position); background-color: currentColor; } .mw-mmv-embed-dimensions { color: color-mix(in srgb, var(--wiki-content-text-color) 76%, transparent); } .oo-ui-optionWidget-selected .mw-mmv-embed-dimensions { color: color-mix(in srgb, var(--wiki-content-text-color) 82%, transparent); } .mw-mmv-download-pane .mw-mmv-download-attribution { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-mix-color); } .mw-mmv-download-pane .mw-mmv-download-attribution:hover { background-color: var(--wiki-content-dynamic-color--inverted); color: var(--wiki-content-text-color); } .mw-mmv-download-pane .mw-mmv-download-area .mw-mmv-download-preview-link, .mw-mmv-download-pane .mw-mmv-download-attribution-cta-invite { color: var(--wiki-content-text-mix-color); } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--wiki-accent-color); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 1), inset 0 0 0 2px var(--wiki-accent-color); } input[type="checkbox"]:active+.mw-ui-button.mw-ui-quiet, input[type="checkbox"]:active+.mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type="checkbox"]:active+.mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active, input[type="checkbox"]:focus+.mw-ui-button.mw-ui-quiet, input[type="checkbox"]:focus+.mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type="checkbox"]:focus+.mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--wiki-content-text-color); } /**/ /* Echo */ .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-optionWidget-selected > .oo-ui-buttonElement-button:hover { color: var(--wiki-accent-label-color); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--wiki-content-text-color); } @-webkit-keyframes unseen-fadeout-to-unread { from { background-color: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); } to { background-color:var(--wiki-content-background-color--secondary); } } @keyframes unseen-fadeout-to-unread { from { background-color: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); } to { background-color:var(--wiki-content-background-color--secondary); } } @-webkit-keyframes unseen-fadeout-to-read { from { background-color: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); } to { background-color:var(--wiki-content-background-color); } } @keyframes unseen-fadeout-to-read { from { background-color: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); } to { background-color:var(--wiki-content-background-color); } } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--wiki-content-border-color); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--wiki-content-background-color--secondary); } .client-js .mw-echo-special-nojs { filter:var(--wiki-icon-general-filter) } /**/ /* codex fixes */ .cdx-checkbox__icon { background-color: color-mix(in srgb,var(--wiki-accent-color) 5%,transparent); } /**/ /************************* * End Vector theme fixes * **************************/ /************************ * Theme-based Scribunto * *************************/ #mw-scribunto-input { background-color: var(--wiki-content-background-color--secondary); border: 1px solid var(--wiki-content-border-color); color: var(--wiki-content-text-color); } .mw-scribunto-console-fieldset, .mw-scribunto-message, .mw-scribunto-input, .mw-scribunto-error, .mw-scribunto-print, .mw-scribunto-normalOutput { background: transparent; } .mw-scribunto-console-fieldset { color: var(--wiki-content-text-color); } .mw-scribunto-message { color: var(--wiki-content-text-color); } .mw-scribunto-input { color: var(--wiki-content-text-color--hover); } .mw-scribunto-error { color: var(--wiki-alert-color); } .mw-scribunto-print { color: var(--wiki-content-text-color); } .mw-scribunto-normalOutput { color: var(--wiki-content-text-color); } /**************** * End Scribunto * *****************/ /*************************** * Theme-based VisualEditor * ****************************/ .ve-activated .vector-menu-tabs .selected { box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); } .ve-init-mw-progressBarWidget { background-color: var(--wiki-content-background-color); border-color: var(--wiki-accent-color); box-shadow: 0 1px 1px color-mix(in srgb, var(--wiki-content-dynamic-color) 15%, transparent); } .ve-init-mw-progressBarWidget-bar { background-color:var(--wiki-accent-color); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--wiki-content-border-color); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { top: var(--wikigg-header-height, 0); background: var(--wiki-content-background-color); } div.ve-ce-branchNode { border-color:var(--wiki-content-border-color); } .ve-ce-focusableNode-highlight { background: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .ve-ce-surface-highlights-focused .ve-ce-focusableNode-highlights { opacity: 0.25; } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug:not(.ve-ce-branchNode-newSlug-open) { outline-color: var(--wiki-accent-color); background-color: color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 75%, transparent); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Audio/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'], figure[typeof~='mw:Audio/Frame'] { border-color: var(--wiki-content-border-color); background-color: var(--wiki-content-background-color--secondary); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Audio/Thumb'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Audio/Frame'] > a:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:File/Thumb'] > span:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:File/Frame'] > span:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Image/Thumb'] > span:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Video/Thumb'] > span:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Audio/Thumb'] > span:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Image/Frame'] > span:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Video/Frame'] > span:first-child > *:first-child:not(.mw-broken-media), figure[typeof~='mw:Audio/Frame'] > span:first-child > *:first-child:not(.mw-broken-media) { border-color: var(--wiki-content-border-color); background: var(--wiki-content-background-color--secondary); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Audio/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption, figure[typeof~='mw:Audio/Frame'] > figcaption { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .ve-ui-specialCharacterPage-character, .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above, .oo-ui-bookletLayout > .oo-ui-menuLayout-menu, .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu, .ve-ui-specialCharacterPage-character:hover { border-color:var(--wiki-content-border-color); } .ve-ui-specialCharacterPage-character:hover { box-shadow:inset 0 0 1px 1px var(--wiki-accent-color); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-title, .oo-ui-popupToolGroup-tools .oo-ui-tool-link .oo-ui-tool-accel { color: var(--wiki-content-text-mix-color); } .oo-ui-barToolGroup-tools.oo-ui-toolGroup-enabled-tools .oo-ui-tool.oo-ui-widget-disabled.oo-ui-flaggedElement-primary > .oo-ui-tool-link .oo-ui-tool-title, .oo-ui-barToolGroup-tools.oo-ui-toolGroup-disabled-tools .oo-ui-tool.oo-ui-flaggedElement-primary > .oo-ui-tool-link .oo-ui-tool-title { color: color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 78%, transparent); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: color-mix(in srgb, var(--wiki-content-link-color) 10%, transparent); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--wiki-accent-color); box-shadow: inset 0 -2px 0 0 var(--wiki-accent-color); } .oo-ui-tabOptionWidget { color: var(--wiki-content-text-mix-color); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-widget-enabled:not(.oo-ui-optionWidget-selected):hover { color: var(--wiki-accent-color--hover); box-shadow: inset 0 -2px 0 0 var(--wiki-accent-color--hover); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-widget-enabled:not(.oo-ui-optionWidget-selected):active { color: var(--wiki-content-text-color); box-shadow: inset 0 -2px 0 0 var(--wiki-accent-color--hover); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--wiki-content-border-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled.oo-ui-flaggedElement-invalid .oo-ui-inputWidget-input { border-color: var(--wiki-alert-color); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px color-mix(in srgb, var(--wiki-content-link-color) 20%, transparent); background-color: color-mix(in srgb, var(--wiki-content-link-color) 10%, transparent); } .ve-ui-mwInternalLinkContextItem-withImage > .oo-ui-iconElement.oo-ui-iconElement-icon { background-color: var(--wiki-content-text-mix-color-95); background-color: color-mix(in srgb, var(--wiki-content-text-mix-color-95) 90%, var(--wiki-content-dynamic-color)); border-color: var(--wiki-content-text-mix-color-95); border-color: color-mix(in srgb, var(--wiki-content-text-mix-color-95) 90%, var(--wiki-content-dynamic-color)); filter: unset; } .mw-widget-titleWidget-menu-withImages .mw-widget-titleOptionWidget.oo-ui-iconElement > .oo-ui-iconElement-icon.mw-widget-titleOptionWidget-hasImage { filter: unset; } .mw-widget-titleWidget-menu-withImages .mw-widget-titleOptionWidget.oo-ui-iconElement > .oo-ui-iconElement-icon:not(.mw-widget-titleOptionWidget-hasImage) { background-color: color-mix(in srgb, var(--wiki-content-text-mix-color-95) 90%, var(--wiki-content-dynamic-color)); filter: unset; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label .ve-ui-linkContextItem-label-preview { color: var(--wiki-content-text-mix-color); } .ve-ui-toolbarDialog { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 5%, transparent); } .ve-ce-languageAnnotation { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 20%, transparent); border-color: var(--wiki-content-link-color); } .mw-widget-mediaResultWidget-overlay { box-shadow: inset 0 0 0 1px var(--wiki-content-border-color); } .mw-widget-mediaResultWidget .mw-widget-mediaResultWidget-nameLabel { color: #fff; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not(.oo-ui-labelElement) > .oo-ui-buttonElement-button { background-color: transparent; border-right-color: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--wiki-content-background-color); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--wiki-content-text-mix-color); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop.oo-ui-selectFileWidget-dropTarget, .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop .oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input { background-color: color-mix(in srgb, var(--wiki-accent-color) 10%, transparent); color: var(--wiki-accent-color); } .oo-ui-selectFileWidget.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget, .oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--wiki-content-text-mix-color-95); border-color: var(--wiki-content-dynamic-color--secondary); } .mw-upload-bookletLayout-filePreview { background-color: var(--wiki-content-background-color--secondary); } .ve-ui-mwMediaDialog-panel-imageinfo-details { color: var(--wiki-content-text-mix-color); } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { -webkit-text-fill-color: color-mix(in srgb, var(--wiki-content-text-color) 50%, transparent); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--wiki-content-text-mix-color); } .ve-ui-mwLanguagesPage-languages-table th, .ve-ui-mwLanguagesPage-languages-table td { border-bottom-color: var(--wiki-content-border-color); } .ve-ui-mwLanguagesPage-languages-table tr:nth-child(even) td { background: var(--wiki-content-background-color); } .ve-ui-mwLanguagesPage-languages-table tr:nth-child(odd) td { background: color-mix(in srgb, var(--wiki-content-dynamic-color--secondary) 5%, transparent); } .ve-ui-targetWidget { border-color: var(--wiki-content-border-color); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background: var(--wiki-content-background-color); } .ve-ui-targetWidget-focused { border-color: var(--wiki-accent-color); box-shadow: inset 0 0 0 1px var(--wiki-accent-color); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--wiki-content-background-color); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--wiki-content-dynamic-color); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.ve-ui-mwTransclusionOutlineParameterWidget-activePage, .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.ve-ui-mwTransclusionOutlineParameterWidget-activePage:hover, .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.ve-ui-mwTransclusionOutlineParameterWidget-activePage.oo-ui-optionWidget-highlighted { color: var(--wiki-accent-color); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--wiki-content-text-mix-color); } .ve-ui-mwTemplatePage-description { color: var(--wiki-content-text-mix-color); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--wiki-content-text-mix-color); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, transparent 0, var(--wiki-content-background-color) 90%); } .ve-ui-expandableContent-toggle { background-color: var(--wiki-content-background-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--wiki-content-text-mix-color); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--wiki-content-text-mix-color); } .ve-ui-mwLatexDialog-content .oo-ui-bookletLayout-stackLayout h3 { color: var(--wiki-content-text-mix-color); } .ve-ui-mwLatexPage-symbol { border-color: var(--wiki-content-border-color); } .ve-ui-mwGalleryDialog-highlighted-image { background-color: var(--wiki-content-background-color--secondary); } .ve-ui-mwHelpListToolGroup-tools-footer { border-color: var(--wiki-content-border-color); } .ve-ui-mwHelpListToolGroup-version-link, .ve-ui-mwHelpListToolGroup-version-date, .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--wiki-content-text-mix-color); } .ve-ui-mwSaveDialog-summary { background-color: var(--wiki-content-background-color); } .ve-ui-mwSaveDialog-options { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .ve-ui-mwSaveDialog-license { color: var(--wiki-content-text-mix-color); } .oo-ui-processDialog .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not(.oo-ui-flaggedElement-progressive):not(.oo-ui-flaggedElement-destructive) > .oo-ui-buttonElement-button:active { border-right-color: var(--wiki-accent-color); border-left-color: var(--wiki-accent-color); } .ve-ui-debugBar { border-color: var(--wiki-content-border-color); } .ve-ui-debugBar-commands-divider { border-color: var(--wiki-content-border-color); } .ve-ui-debugBar-dump > table { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .ve-ui-debugBar-dump td { background-color: var(--wiki-content-background-color); } .ve-ui-debugBar-dump th { color: color-mix(in srgb, var(--wiki-content-text-color) 80%, transparent); text-shadow: 0 1px 1px var(--wiki-content-dynamic-color--inverted); } .ve-ui-debugBar-dump ol { color: color-mix(in srgb, var(--wiki-content-text-color) 60%, transparent); } .ve-ui-debugBar-dump li .ve-ui-debugBar-dump-element, .ve-ui-debugBar-dump li .ve-ui-debugBar-dump-char, .ve-ui-debugBar-dump li .ve-ui-debugBar-dump-achar { background-color: var(--wiki-content-background-color--secondary); color: var(--wiki-content-dynamic-color); text-shadow: 0 1px 1px var(--wiki-content-dynamic-color--inverted); } .ve-ui-debugBar-dump li .ve-ui-debugBar-dump-element { background-color: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); } .ve-ui-debugBar-dump li .ve-ui-debugBar-dump-char { background-color: color-mix(in srgb, var(--wiki-success-color) 20%, transparent); } .ve-ui-debugBar-dump li .ve-ui-debugBar-dump-achar { background-color: color-mix(in srgb, var(--wiki-warning-color) 20%, transparent); } .ve-ui-debugBar-dump li .ve-ui-debugBar-dump-note { color: var(--wiki-content-text-mix-color); } .ve-ui-debugBar-filibuster { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-border-color); } .ve-ui-debugBar-transactions > ol > li { border-color: var(--wiki-content-border-color); } /******************* * End VisualEditor * ********************/ /************************** * Theme-based AbuseFilter * ***************************/ table.mw-abuselog-details { background: var(--wiki-content-background-color); border-color: var(--wiki-content-border-color); } table.mw-abuselog-details th, table.mw-abuselog-details td, div.mw-abusefilter-editor { border-color: var(--wiki-content-border-color); } table.mw-abuselog-details th { background: var(--wiki-content-background-color--secondary); } body td.mw-abusefilter-history-changed { background-color: color-mix(in srgb, var(--wiki-alert-color) 20%, transparent); } /****************** * End AbuseFilter * *******************/ /************************************ * Theme-based Special:MultiPageEdit * *************************************/ :root { --jexcel-border-color:var(--wiki-content-border-color); /* this is defined by the extension but does not seem to be used anywhere. We override it just in case *shrug* */ } .jexcel, .jexcel_container.fullscreen .jexcel_content{ background-color:var(--wiki-content-background-color); border-bottom-color:var(--wiki-content-border-color); border-right-color:var(--wiki-content-border-color); } table.jexcel > tbody > tr > td:first-child, table.jexcel > thead, table.jexcel > thead > tr > td, table.jexcel > tbody > tr.selected > td:first-child, table.jexcel > thead > tr > td.selected { background-color:var(--wiki-content-background-color--secondary); } table.jexcel > tbody > tr.selected > td:first-child, table.jexcel > thead > tr > td.selected { background-color: color-mix(in srgb, var(--wiki-accent-color) 10%, transparent); } table.jexcel > thead > tr > td{ border-bottom-color:var(--wiki-content-border-color); } .jexcel > thead > tr > td.arrow-up, .jexcel > thead > tr > td.arrow-down { background:none; } .jexcel > thead > tr > td.arrow-up::after, .jexcel > thead > tr > td.arrow-down::after { display:inline-block; position:absolute; right:0; top:0; background-repeat:no-repeat; background-position:center right 5px; width:22px; height:100%; content:''; filter:brightness(50%) var(--wiki-icon-general-filter); } .jexcel > thead > tr > td.arrow-up::after { background-image:url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath d='M7 14l5-5 5 5H7z' fill='gray'/%3E%3C/svg%3E"); } .jexcel > thead > tr > td.arrow-down::after { background-image:url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath d='M7 10l5 5 5-5H7z' fill='gray'/%3E%3C/svg%3E"); } .jexcel > thead > tr:nth-child(2) > td { z-index:1; /* prevents overlapping the headings after scrolling on tall tables */ } .jexcel > tbody > tr > td { border-top-color:var(--wiki-content-text-mix-color-95); border-bottom-color:var(--wiki-content-text-mix-color-95); } .jexcel > tbody > tr > td.readonly { color:var(--wiki-content-text-mix-color); } .jexcel_content { scrollbar-color:var(--wiki-content-text-mix-color) transparent; /* we need this important to override inline styling */ box-shadow:var(--wiki-content-dynamic-color--secondary--inverted) 2px 2px 5px 0.1px !important; } .jexcel .highlight { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 5%, transparent); } .jexcel .highlight-top { border-top-color:var(--wiki-content-text-mix-color); box-shadow:0px -1px var(--wiki-content-dynamic-color--secondary--inverted); } .jexcel .highlight-left { border-left-color:var(--wiki-content-text-mix-color); box-shadow:-1px 0px var(--wiki-content-dynamic-color--secondary--inverted); } .jexcel .highlight-top.highlight-left { box-shadow:-1px -1px var(--wiki-content-dynamic-color--secondary--inverted); } .jexcel .highlight-right { border-right-color:var(--wiki-content-text-mix-color); } .jexcel .highlight-bottom { border-bottom-color:var(--wiki-content-text-mix-color); } .jexcel .jexcel_column_filter { background:none; } .jexcel .jexcel_column_filter::after { display:inline-block; position:absolute; right:0; top:0; background-repeat:no-repeat; background-position:top 50% right 5px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='gray' width='18px' height='18px'%3E%3Cpath d='M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E"); width:20px; height:100%; content:''; filter:brightness(50%) var(--wiki-icon-general-filter); } .jexcel_pagination > div > div { background-color:var(--wiki-accent-color); /* we need this important to override a built-in one */ color:var(--wiki-accent-label-color) !important; } .jexcel_page_selected { background:linear-gradient(to bottom,var(--wiki-accent-color) 0%,var(--wiki-accent-color--hover) 100%); /* we need this important to override a built-in one */ border:1px solid var(--wiki-content-border-color) !important; } /**************************** * End Special:MultiPageEdit * *****************************/ /*********************** * Theme-based msupload * ************************/ #msupload-div, #msupload-list .file { background-color:var(--wiki-content-background-color); border-color:var(--wiki-content-border-color); } #msupload-select { filter:brightness(0) var(--wiki-icon-to-link-filter); } #msupload-dropzone { border-color:var(--wiki-content-border-color); color:var(--wiki-content-text-color); } .drop-over { background-color:var(--wiki-accent-color); color:var(--wiki-accent-label-color) !important; } #msupload-bottom { border-color:var(--wiki-content-border-color); } #msupload-bottom #msupload-files { padding-left:0; background: none; } #msupload-bottom #msupload-files::before { display:inline-block; background: url(/extensions/MsUpload/resources/images/msu-upload-icon.png?bdd61) no-repeat 0 0; background-position:left center; height:22px; width:25px; content:''; vertical-align: top; filter:var(--wiki-icon-general-filter); } #msupload-list .file .file-size { color: var(--wiki-content-text-mix-color); } #msupload-div a { color: var(--wiki-content-link-color); } #msupload-list .file .file-name:hover { background-color: var(--wiki-content-dynamic-color--inverted); } #msupload-list .file .file-name-input { background: var(--wiki-content-dynamic-color--inverted); } #msupload-list .file .file-warning { color: var(--wiki-warning-color); } /*************************** * End theme-based msupload * ****************************/ /***************************** * Theme-based commentstreams * ******************************/ .cs-title-edit-field { border-color:var(--wiki-accent-color); } .cs-title-edit-field::placeholder, .view-dark .cs-body-edit-field::placeholder { color: var(--wiki-content-text-mix-color); } .cs-edit-box , .cs-expanded .cs-comment-header { background-color: var(--wiki-content-background-color--secondary); border-color:var(--wiki-content-border-color); } .cs-target-comment .cs-comment-header { border-color:var(--wiki-accent-color); } .cs-comment-author a { color: var(--wiki-content-link-color); } .cs-comment-details { color: color-mix(in srgb, var(--wiki-content-text-color) 95%, transparent); } .cs-comment-author-anonymous { color:color-mix(in srgb, var(--wiki-content-text-color) 95%, transparent); } .cs-comment { border:1px solid var(--wiki-content-border-color); } .cs-comment-body { padding:0 5px; } /********************************* * End theme-based commentstreams * **********************************/ /************************ * Theme-based checkuser * *************************/ .mw-datatable.ext-checkuser-investigate-table tr:hover td { background-color:var(--wiki-content-background-color); } .mw-datatable.ext-checkuser-investigate-table th { background-color:var(--wiki-content-background-color--secondary); } .ext-checkuser-investigate-table.mw-datatable.ext-checkuser-investigate-table-pinned .ext-checkuser-investigate-table-row-pinned td, .ext-checkuser-investigate-table.mw-datatable.ext-checkuser-investigate-table-pinned .ext-checkuser-investigate-table-row-pinned-data-match td, .ext-checkuser-investigate-table.mw-datatable:not(.ext-checkuser-investigate-table-pinned) .ext-checkuser-investigate-table-row-hover-data-match td, .ext-checkuser-investigate-table.mw-datatable:not(.ext-checkuser-investigate-table-pinned) tr:hover td{ background-color: color-mix(in srgb, var(--wiki-warning-color) 10%, transparent); } .ext-checkuser-investigate-table.mw-datatable.ext-checkuser-investigate-table-pinned .ext-checkuser-investigate-table-row-pinned td.ext-checkuser-investigate-table-cell-pinned, .ext-checkuser-investigate-table.mw-datatable.ext-checkuser-investigate-table-pinned .ext-checkuser-investigate-table-row-pinned-data-match td.ext-checkuser-investigate-table-cell-pinned, .ext-checkuser-investigate-table.mw-datatable.ext-checkuser-investigate-table-pinned .ext-checkuser-investigate-table-row-pinned td.ext-checkuser-investigate-table-cell-pinned-data-match, .ext-checkuser-investigate-table.mw-datatable.ext-checkuser-investigate-table-pinned .ext-checkuser-investigate-table-row-pinned-data-match td.ext-checkuser-investigate-table-cell-pinned-data-match, .ext-checkuser-investigate-table.mw-datatable:not(.ext-checkuser-investigate-table-pinned) tr td.ext-checkuser-investigate-table-cell-hover-data-match, .ext-checkuser-investigate-table.mw-datatable:not(.ext-checkuser-investigate-table-pinned) tr td:hover.ext-checkuser-investigate-table-cell-pinnable { background-color: color-mix(in srgb, var(--wiki-warning-color) 40%, transparent); } .ext-checkuser-investigate-copy-message.oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color:var(--wiki-content-background-color--secondary); border-color:var(--wiki-content-border-color); } .mw-special-Investigate .ext-checkuser-investigate-subtitle-fieldset { background-color:var(--wiki-content-background-color--secondary); } /**************** * End checkuser * *****************/ /*************************** * Theme-based SearchDigest * ****************************/ .searchdigest-stats-table { border-color: var(--wiki-content-border-color); border-collapse: collapse; } .searchdigest-stats-table thead th, .searchdigest-stats-table tr:not(:last-child) th, .searchdigest-stats-table tr:not(:last-child) td { border-bottom-color: var(--wiki-content-border-color); } .searchdigest-stats-table thead th:last-child, .searchdigest-stats-table td { border-left-color: var(--wiki-content-border-color); } .searchdigest-stats-table thead tr { background: var(--wiki-content-background-color--secondary); } /******************* * End SearchDigest * ********************/ /**************************** * Extension:RelatedArticles * *****************************/ .client-js .read-more-container { min-height:unset; } @media (min-width: 1000px) { .client-js .read-more-container { min-height:calc( 80px /*card height*/ + 10px /*card margin*/ + 1em /*container padding*/ + 0.3em /*card-list margin*/ + 0.8em /*h2 font-size*/ + 1em /*h2 padding*/ + 0.6em /*h2 margin*/ + 1px /*container border*/ ); } } .ext-related-articles-card-list .ext-related-articles-card { background-color:var(--wiki-content-background-color); } .ext-related-articles-card-list .ext-related-articles-card, .ext-related-articles-card-list .ext-related-articles-card + .ext-related-articles-card { /* your guess is as good as mine for why they did this */ border-color: color-mix(in srgb, var(--wiki-content-border-color) 20%, transparent); } .ext-related-articles-card-list .ext-related-articles-card-thumb { background-color:var(--wiki-content-background-color--secondary); } .ra-read-more h2 { color:var(--wiki-body-dynamic-color--secondary); } .ext-related-articles-card-list h3 a { color:var(--wiki-content-heading-color); } .ext-related-articles-card-list h3::after { background-image: linear-gradient(to right,transparent,var(--wiki-content-background-color) 50%); } .ext-related-articles-card-list .ext-related-articles-card-extract { color: color-mix(in srgb, var(--wiki-content-text-color) 50%, transparent); } /* removed background image and use a mask image instead */ .ext-related-articles-card-list .ext-related-articles-card-thumb-placeholder { position:relative; background-image:none; } .ext-related-articles-card-list .ext-related-articles-card-thumb-placeholder::after { position:absolute; width:100%; height:100%; top:0; left:0; content:''; --mask-image: url("/extensions/RelatedArticles/resources/ext.relatedArticles.readMore/article.svg?3c572"); --mask-size: 40px; --mask-repeat: no-repeat; --mask-position: center; -webkit-mask: var(--mask-image); mask: var(--mask-image); -webkit-mask-size: var(--mask-size); mask-size: var(--mask-size); -webkit-mask-repeat: var(--mask-repeat); mask-repeat: var(--mask-repeat); -webkit-mask-position: var(--mask-position); mask-position: var(--mask-position); background-color: color-mix(in srgb, var(--wiki-content-text-color) 75%, transparent); } /**/ /* this simulates mw-footer having a top border */ .read-more-container { border-bottom: var(--wiki-content-border-width, 1px) solid var(--wiki-content-border-color); } @media screen and (min-width: 720px) { .read-more-container { margin-right:1em; } } /******************************** * End Extension:RelatedArticles * *********************************/ /******************* * Extension:Popups * ********************/ .mwe-popups { box-shadow: 0 30px 90px -20px rgba(0,0,0,0.3),0 0 1px 1px color-mix(in srgb, var(--wiki-content-border-color) 5%, transparent); } .mwe-popups, .mwe-popups .mwe-popups-container { background-color:var(--wiki-content-background-color); color:var(--wiki-content-text-color); } .mwe-popups .mwe-popups-extract { color:var(--wiki-content-text-color); } .mwe-popups .mwe-popups-extract[dir="ltr"]::after { background-image: linear-gradient(to right,transparent,var(--wiki-content-background-color) 50%); } .mwe-popups.flipped-y::before, .mwe-popups.flipped-x-y::before, .mwe-popups.mwe-popups-image-pointer::before, .mwe-popups.mwe-popups-image-pointer.flipped-x::before, .mwe-popups.mwe-popups-no-image-pointer::before, .mwe-popups.flipped-x.mwe-popups-is-tall::before, .mwe-popups.flipped-x-y.mwe-popups-is-tall::before { border-color:var(--wiki-content-border-color); } .mwe-popups.flipped-y::after, .mwe-popups.flipped-x-y::after, .mwe-popups.mwe-popups-image-pointer::after, .mwe-popups.mwe-popups-image-pointer.flipped-x::after, .mwe-popups.mwe-popups-no-image-pointer::after, .mwe-popups.flipped-x-y.mwe-popups-is-tall::after { border-color:var(--wiki-content-background-color); } .popups-icon { position:relative; background-position: center; background-repeat: no-repeat; background-size: calc(max(1.4285714em,20px)); min-width: 20px; min-height: 20px; width: 1.4285714em; height: 1.4285714em; display: inline-block; vertical-align: text-bottom; } .popups-icon--preview-generic, .popups-icon--settings, .popups-icon--infoFilled, .popups-icon--infoFilled:lang(ar), .popups-icon--close, .popups-icon--reference-generic, .popups-icon--reference-book, .popups-icon--preview-disambiguation { background-image:none; } .popups-icon::after { position:absolute; width:100%; height:100%; top:0; left:0; content:''; -webkit-mask-image:var(--mask-image, none); mask-image:var(--mask-image, none); -webkit-mask-repeat:var(--mask-repeat, no-repeat); mask-repeat:var(--mask-repeat, no-repeat); -webkit-mask-size:var(--mask-size, calc(max(1.4285714em,20px))); mask-size:var(--mask-size, calc(max(1.4285714em,20px))); -webkit-mask-position:var(--mask-position, center); mask-position:var(--mask-position, center); background-color:var(--mask-color, currentColor); background-color:var(--mask-color, currentColor); } .popups-icon--preview-generic::after { --mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E sad face %3C/title%3E %3Cpath d=%22M2 0a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm4 4c1.336 0 2.007 1.617 1.06 2.56-.943.947-2.56.276-2.56-1.06A1.5 1.5 0 0 1 6 4zm8 0c1.336 0 2.007 1.617 1.06 2.56-.943.947-2.56.276-2.56-1.06A1.5 1.5 0 0 1 14 4zm-4 5c2.61 0 4.83.67 5.65 3H4.35C5.17 9.67 7.39 9 10 9z%22/%3E %3C/svg%3E"); } .popups-icon--settings::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><g transform=\"translate(10 10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0 010 7 3.5 3.5 0 010-7\"/></svg>"); } .popups-icon--infoFilled::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z\"/></svg>"); } .popups-icon--infoFilled:lang(ar)::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"M8 19a1 1 0 001 1h2a1 1 0 001-1v-1H8zm9-12a7 7 0 10-12 4.9S7 14 7 15v1a1 1 0 001 1h4a1 1 0 001-1v-1c0-1 2-3.1 2-3.1A7 7 0 0017 7z\"/></svg>"); } .popups-icon--close::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66 2.93z\"/></svg>"); } .popups-icon--reference-generic::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"m15 10-2.78-2.78L9.44 10V1H5a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V3a2 2 0 00-2-2z\"/></svg>"); } .popups-icon--reference-book::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"M15 2a7.65 7.65 0 00-5 2 7.65 7.65 0 00-5-2H1v15h4a7.65 7.65 0 015 2 7.65 7.65 0 015-2h4V2zm2.5 13.5H14a4.38 4.38 0 00-3 1V5s1-1.5 4-1.5h2.5z\"/><path d=\"M9 3.5h2v1H9z\"/></svg>"); } .popups-icon--reference-journal::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"M2 18.5A1.5 1.5 0 003.5 20H5V0H3.5A1.5 1.5 0 002 1.5zM6 0v20h10a2 2 0 002-2V2a2 2 0 00-2-2zm7 8H8V7h5zm3-2H8V5h8z\"/></svg>"); } .popups-icon--reference-news::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"M5 2a2 2 0 00-2 2v12a1 1 0 01-1-1V5h-.5A1.5 1.5 0 000 6.5v10A1.5 1.5 0 001.5 18H18a2 2 0 002-2V4a2 2 0 00-2-2zm1 2h11v4H6zm0 6h6v1H6zm0 2h6v1H6zm0 2h6v1H6zm7-4h4v5h-4z\"/></svg>"); } .popups-icon--reference-web::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"M2 2a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V4a2 2 0 00-2-2zm2 1.5A1.5 1.5 0 112.5 5 1.5 1.5 0 014 3.5zM18 16H2V8h16z\"/></svg>"); } .popups-icon--preview-disambiguation::after { --mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23202122\"><path d=\"M7 0a2 2 0 00-2 2h9a2 2 0 012 2v12a2 2 0 002-2V2a2 2 0 00-2-2z\"/><path d=\"M13 20a2 2 0 002-2V5a2 2 0 00-2-2H4a2 2 0 00-2 2v13a2 2 0 002 2zM9 5h4v5H9zM4 5h4v1H4zm0 2h4v1H4zm0 2h4v1H4zm0 2h9v1H4zm0 2h9v1H4zm0 2h9v1H4z\"/></svg>"); } /*********************** * End Extension:Popups * ************************/ /********************* * Mobile adjustments * **********************/ /* Responsive Special:UserRights */ #mw-userrights-table-outer input#wpReason { width:100%; max-width:33.5em; } @media screen and (max-width:720px) { :root { --wiki-content-right-margin: 0px; --wiki-content-padding:0.5rem; --wiki-navigation-right-margin: 1px; --wiki-navigation-left-margin: 0px; --wiki-navigation-top-padding: 5px; --wiki-navigation-bottom-padding:0px; --wiki-navigation-height:2rem; --wiki-navigation-search-height:2.15rem; --wiki-navigation-search-margin:0.5rem; --wiki-logo-height: 80px; --wiki-logo-width: 100%; --wiki-logo-margin: 10px; --wiki-head-height: calc(var(--wiki-logo-height) + (var(--wiki-logo-margin) * 2) + var(--wiki-navigation-height) + var(--wiki-navigation-top-padding) + var(--wiki-navigation-bottom-padding)); --wiki-head-icon-padding: 0.25rem; --wiki-head-icon-size: calc(var(--wiki-navigation-height) - var(--wiki-head-icon-padding) * 2); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-menu-margin: 0.2rem; --wiki-menu-top-offset: calc(var(--wiki-head-height) + var( --wikigg-header-height ) + var(--wiki-navigation-bottom-padding) + var(--wiki-navigation-search-margin)); --wiki-sidebar-portal-spacing:0px; } #mw-page-base, #mw-head-base { height:var(--wiki-head-height); } #mw-page-base { padding-top: var( --wikigg-header-height ); } #mw-head-base { margin-top:calc(var(--wiki-head-height) * -1); } #p-logo, #p-logo a { height: var(--wiki-logo-height); width: var(--wiki-logo-width); } #p-logo { position:absolute; background:none; padding:0; left:0; margin:var(--wiki-logo-margin) 0; transform:none; top:calc(var(--wikigg-header-height)); } .mw-wiki-logo { background-size:contain; } #mw-head { left:0; width:100%; top:calc(var(--wiki-head-height) + var( --wikigg-header-height ) - var(--wiki-navigation-height)); } #left-navigation, #right-navigation { margin-top: 0; height:var(--wiki-navigation-height); } #right-navigation { margin-right: var(--wiki-navigation-right-margin); } div#left-navigation { margin-left: var(--wiki-navigation-left-margin); } div#right-navigation div#p-search { margin-right: 0; } .vector-menu-tabs-legacy, .vector-menu-dropdown { height:var(--wiki-navigation-height); } .vector-menu-tabs-legacy li a { height:var(--wiki-navigation-height); } #p-cactions { padding-bottom: 0px; } #p-search { position: absolute; left: 50%; transform:translateX(-50%); top: calc(var(--wiki-navigation-height) + var(--wiki-navigation-bottom-padding)); margin-left:0px; z-index: 4 /** above #mw-panel **/; } #simpleSearch { width: calc(100vw - var(--wiki-navigation-right-margin) - var(--wiki-navigation-left-margin)); } .vector-search-box-input { height:var(--wiki-navigation-search-height); } .vector-search-box form { margin:var(--wiki-navigation-search-margin) 0px; } .mw-body, .mw-footer { border-left-width: 0; border-right-width: 0; } .mw-body { margin-top: 0; padding-top:calc(var(--wiki-content-padding) + var(--wiki-navigation-search-height) + var(--wiki-navigation-bottom-padding) + (var(--wiki-navigation-search-margin) * 2)); } #mw-data-after-content { margin-left:0; } #mw-panel { position: unset; width:100%; margin: 0px auto; padding: 0; top: 0; background-position:bottom right, top center; background-size:100% 0.5em, 100% 100%; float:unset; } .vector-menu-dropdown .vector-menu-content { right: 0; left: unset; } #mw-panel .vector-menu-portal { box-sizing:border-box; border-left-width:0; border-right-width:0; background-color: var(--wiki-sidebar-background-color); } table.wikitable, table.responsive-table { display: block; overflow-x: auto; border: 0; } .mw-installed-software { word-break: unset; } .gallerybox, .gallerybox > div, .gallerybox .thumb { max-width:100%; } /* disable float on RecentChanges legend */ .mw-changeslist-legend { float: none; margin: 0 auto; } /* advanced search options */ #mw-searchoptions table { float: none; } #mw-searchoptions table td { display: block; } /* popup when clicking the download button in multimediaviewer */ .mw-mmv-dialog { width: unset; } /* turn math elements into scroll blocks unless they're an immediate child of a span */ :not(span) > math.mwe-math-element { overflow: auto hidden; max-width: 100%; } /* Expandable mobile navigation panel */ body.has-vector-mobile-menu #mw-panel { position: absolute; top: var(--wiki-menu-top-offset); z-index: 3; } body.has-vector-mobile-menu #mw-panel .mobile-nav-toggle { position: relative; cursor: pointer; z-index: 5; display: block; appearance: none; border: 1px solid var(--wiki-content-border-color); margin-left: var(--wiki-navigation-search-margin); margin-bottom: 2px; background-color: var(--wiki-content-background-color--secondary); } body.has-vector-mobile-menu #mw-panel .vector-menu-portal { display: none; } body.has-vector-mobile-menu #mw-panel .mobile-nav-toggle.nav--expanded ~ .vector-menu-portal { display: block; } body.has-vector-mobile-menu #mw-navigation #mw-panel .vector-menu-portal { text-align: left; font-size: 110%; border-left-width: var(--wiki-sidebar-border-width, 1px); border-right-width: var(--wiki-sidebar-border-width, 1px); margin-inline: calc(var(--wiki-navigation-left-margin) + var(--wiki-menu-margin)); } body.has-vector-mobile-menu #mw-navigation #mw-panel .vector-menu-portal + .vector-menu-portal { border-top-width: 0; } body.has-vector-mobile-menu #mw-navigation #mw-panel .vector-menu-portal:not(:last-child) { border-bottom-width: 0; } body.has-vector-mobile-menu #mw-panel .vector-menu-content-list { display: flex; flex-wrap: wrap; } body.has-vector-mobile-menu #mw-panel .vector-menu-content-list a { display: block; padding: 0.2rem 0.5rem; border: 1px solid transparent; } body.has-vector-mobile-menu #mw-panel .vector-menu-content-list a:hover { border-color: var(--wiki-content-link-color); } body.has-vector-mobile-menu #mw-panel a.feedlink { padding-left: 16px; } body.has-vector-mobile-menu #mw-panel #p-navigation-label { display: block; } body.has-vector-mobile-menu #p-logo { /* Logo's a part of the sidebar panel, which uses relative positioning for the expandable button. Offset the logo appropriately. */ top: calc( -1 * var( --wiki-menu-top-offset ) + var( --wikigg-header-height ) ); } .mobile-nav-toggle { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/svg%3E%0A"); } body.has-vector-mobile-menu #p-tb .mw-list-item > a { display: inline-flex; } body.has-vector-mobile-menu #p-tb .vector-menu-content-list { flex-direction: row; } /* Search adjustments for the expandable menu */ body.has-vector-mobile-menu #p-search { /* reposition to the right when mobile sidebar menu is active */ left: calc(var(--wiki-navigation-search-margin) * 3 + var(--wiki-head-icon-size) + var(--wiki-head-icon-padding)); right: calc(var(--wiki-navigation-right-margin) + var(--wiki-navigation-search-margin)); transform: none; } body.has-vector-mobile-menu #simpleSearch { width: 100%; margin: 0 auto; } /* icon navbar tabs + expandable nav panel icon */ #mw-head { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading, #mw-panel .mobile-nav-toggle { line-height:var(--wiki-head-icon-size); width: var(--wiki-head-icon-size); /* same as line height */ height: var(--wiki-head-icon-size); box-sizing: content-box; padding: var(--wiki-head-icon-padding); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before, #mw-panel .mobile-nav-toggle::before { content: ""; display: block; position: unset; background-image: none; width: var(--wiki-head-icon-size); height: var(--wiki-head-icon-size); margin: 0; --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--wiki-navigation-text-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before, #mw-panel .mobile-nav-toggle:hover::before, #mw-panel .mobile-nav-toggle.nav--expanded::before { background-color: var(--wiki-navigation-text-color--hover, var(--wiki-content-link-color--hover)); /* fallback for backwards compatibility */ } #mw-head .vector-menu-tabs .mw-list-item.selected a::before { background-color: var(--wiki-navigation-selected-text-color); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } #ca-ve-edit, #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m16.77 8 1.94-2a1 1 0 0 0 0-1.41l-3.34-3.3a1 1 0 0 0-1.41 0L12 3.23zM1 14.25V19h4.75l9.96-9.96-4.75-4.75z'/%3E%3C/svg%3E%0A"); } #ca-ve-edit + #ca-edit { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20' aria-hidden='true'%3E%3C!----%3E%3Cg%3E%3Cpath d='M1 3v14h3v-2H3V5h1V3zm4 0v14h4v-2H7V5h2V3zm11 0v2h1v10h-1v2h3V3zm-5 0v2h2v10h-2v2h4V3z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"); } #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 14.5a4.5 4.5 0 1 1 4.5-4.5 4.5 4.5 0 0 1-4.5 4.5M10 3C3 3 0 10 0 10s3 7 10 7 10-7 10-7-3-7-10-7'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3C/svg%3E"); } #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E article %3C/title%3E%3Cpath d='M5 1a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 3h5v1H5zm0 2h5v1H5zm0 2h5v1H5zm10 7H5v-1h10zm0-2H5v-1h10zm0-2H5v-1h10zm0-2h-4V4h4z'/%3E%3C/svg%3E%0A"); } #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M9 6v5h.06l2.48 2.47 1.41-1.41L11 10.11V6z'/%3E%3Cpath d='M10 1a9 9 0 0 0-7.85 13.35L.5 16H6v-5.5l-2.38 2.38A7 7 0 1 1 10 17v2a9 9 0 0 0 0-18'/%3E%3C/svg%3E%0A"); } #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Ccircle cx='3' cy='10' r='2'/%3E%3Ccircle cx='17' cy='10' r='2'/%3E%3C/svg%3E%0A"); } #ca-watch { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M20 7h-7L10 .5 7 7H0l5.46 5.47-1.64 7 6.18-3.7 6.18 3.73-1.63-7zm-10 6.9-3.76 2.27 1-4.28L3.5 8.5h4.61L10 4.6l1.9 3.9h4.6l-3.73 3.4 1 4.28z'/%3E%3C/svg%3E%0A"); } #ca-unwatch { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' id='Outlined'%3E%3Cg style='fill:%23000000;fill-opacity:1' id='Fill'%3E%3Cpath style='fill:%23000000;fill-opacity:1' id='path1380' d='M 28.61,11.67 H 20 L 17.34,3.47 C 16.920093,2.1973942 15.119907,2.1973942 14.7,3.47 L 12,11.67 H 3.39 c -1.3409796,0.0031 -1.900508,1.71581 -0.82,2.51 l 7,5.07 -2.68,8.21 C 6.5980433,28.35747 7.2662365,29.278767 8.21,29.28 8.4953889,29.267666 8.7705436,29.170143 9,29 l 7,-5.07 7,5.07 c 0.236205,0.170386 0.518805,0.264586 0.81,0.27 0.943763,-0.0012 1.611957,-0.92253 1.32,-1.82 l -2.66,-8.21 7,-5.07 c 1.075277,-0.810084 0.486081,-2.522863 -0.86,-2.5 z' /%3E%3C/g%3E%3C/svg%3E"); } .vector-menu-tabs #ca-watch.icon a:hover::before, .vector-menu-tabs #ca-unwatch.icon a:hover::before { background-image:none; } /* RecentChanges - prevent overflow on long summaries */ .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left:0; } .mw-changeslist-line-inner-comment, .mw-changeslist-line .comment { font-size:0.9em; } .mw-userlink { overflow-wrap:anywhere; } } /* Hide the expandable navigation button for desktop users */ .mobile-nav-toggle { display: none; } /************* * End mobile * **************/ /* All local skin customizations should go below this line */ b07a5f8bc19fee89108b6558f1524457bb562493 MediaWiki:Common.css 8 226 250 2025-05-10T19:28:50Z ARTIFICER 564804 Importing default loadout css text/css /* CSS placed here will be applied to all skins */ :root{ /* start font settings */ --wiki-body-font-family: sans-serif; --wiki-heading-font-family: 'Linux Libertine','Georgia','Times',serif; --wiki-sidebar-heading-font-family: sans-serif; /* end font settings */ /* start design variables */ --wiki-sidebar-border-radius:0px; /* these two variables must have units specified even if 0, ignore the warning */ --wiki-sidebar-portal-spacing:0px; --wiki-content-border-width:1px; --wiki-sidebar-border-width:1px; /* end design variables */ } /* the rest of the variables will modify some type of color, either text color, background color, border color, etc. */ :root, /* Begin light styles, delete from here to "end light styles" if you don't want your wiki to support any light themes (remove from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=light, */ /* individual themes are prefixed with .theme- instead */ .view-light { /********************** * Probably edit these * [ LIGHT VIEW ] ***********************/ --wiki-body-background-color: #F6F6F6; --wiki-body-background-image: url(/images/8/80/Site-background.jpg); /* please find the file path by viewing the image directly (click the image from the File: page) */ --wiki-content-background-color: #ffffff; --wiki-content-background-opacity: 100%; --wiki-content-border-color: #a7d7f9; --wiki-content-link-color: #0645ad; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ LIGHT VIEW ] */ --wiki-accent-color: #3366cc; --wiki-accent-label-color: #ffffff; --wiki-accent-link-color: #D5FB51; --wiki-icon-to-link-filter: invert(20%) sepia(93%) saturate(2141%) hue-rotate(210deg) brightness(83%) contrast(103%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ LIGHT VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #111111; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #ba0000; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 95%, var(--wiki-accent-label-color)); /* [ LIGHT VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ LIGHT VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ LIGHT VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #bf0017; --wiki-warning-color: #b05f30; --wiki-success-color: #0c742f; /**/ /*********************************** * Likely do not need to edit these * [ LIGHT VIEW ] ************************************/ --wiki-body-dynamic-color: #000000; --wiki-body-dynamic-color--inverted: #ffffff; --wiki-body-dynamic-color--secondary: #333333; --wiki-body-dynamic-color--secondary--inverted: #cccccc; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #ffffff; --wiki-content-dynamic-color: #000000; --wiki-content-dynamic-color--inverted: #ffffff; --wiki-content-dynamic-color--secondary: #333333; --wiki-content-dynamic-color--secondary--inverted: #cccccc; /* [ LIGHT VIEW ] */ --wiki-alert-label-color: #ffffff; --wiki-warning-label-color: #ffffff; --wiki-success-label-color: #ffffff; --wiki-icon-general-filter: ; /* do not set this to none, ignore the "unexpected token" error */ /**/ } /* end light styles */ /* Begin dark styles, delete from here to "end dark styles" if you don't want your wiki to support any dark themes (remove it from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=dark, */ /* individual themes are prefixed with .theme- instead */ .view-dark { /********************** * Probably edit these * [ DARK VIEW ] ***********************/ --wiki-body-background-color: #171717; --wiki-body-background-image: url(/images/c/c4/Site-background-dark.jpg); /* please find the file path by viewing the image directly (not at the File: page) */ --wiki-content-background-color: #202020; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #991A51; --wiki-content-link-color: #6d8afb; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ DARK VIEW ] */ --wiki-accent-color: #ff4d9d; --wiki-accent-label-color: #000; --wiki-accent-link-color: #1e1e43; --wiki-icon-to-link-filter: invert(60%) sepia(70%) saturate(3715%) hue-rotate(206deg) brightness(101%) contrast(97%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ DARK VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #ededed; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #FC5B4F; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 90%, var(--wiki-accent-label-color)); /* [ DARK VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ DARK VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ DARK VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #ff576a; --wiki-warning-color:#cf721c; --wiki-success-color: #13aa45; /**/ /*********************************** * Likely do not need to edit these * [ DARK VIEW ] ************************************/ --wiki-body-dynamic-color: #ffffff; --wiki-body-dynamic-color--inverted: #000000; --wiki-body-dynamic-color--secondary: #cccccc; --wiki-body-dynamic-color--secondary--inverted: #333333; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #000; --wiki-content-dynamic-color: #ffffff; --wiki-content-dynamic-color--inverted: #000000; --wiki-content-dynamic-color--secondary: #cccccc; --wiki-content-dynamic-color--secondary--inverted: #333333; /* [ DARK VIEW ] */ --wiki-alert-label-color: #000000; --wiki-warning-label-color: #000000; --wiki-success-label-color: #000000; --wiki-icon-general-filter: invert(100%); } /* End dark styles */ /************************************** * Shared styles * * You likely don't need to edit these * ***************************************/ :root{ --wiki-content-text-mix-color: color-mix(in srgb, var(--wiki-content-background-color), var(--wiki-content-text-color) 62%); --wiki-content-text-mix-color-95: color-mix(in srgb, var(--wiki-content-background-color) 95%, var(--wiki-content-text-color)); } /******************** * End shared styles * *********************/ /****************************** * Fallback for older browsers * * DONT EDIT THIS * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .view-dark, .view-light, :root { --wiki-content-text-mix-color: var(--wiki-content-text-color); --wiki-content-text-mix-color-95: var(--wiki-content-background-color); --wiki-content-background-color--secondary: var(--wiki-content-dynamic-color--secondary--inverted); --wiki-content-border-color--secondary: var(--wiki-content-border-color); --wiki-content-border-color--accent: var(--wiki-accent-color); --wiki-accent-color--hover: var(--wiki-accent-color); } } /***************************** * End older browser fallback * ******************************/ /***************************** * PortableInfoboxes * ******************************/ :root { --pi-background: var(--wiki-content-background-color); --pi-secondary-background: var(--wiki-accent-color); --pi-secondary-background-label: var(--wiki-accent-label-color); --pi-border-color: color-mix(in srgb, var(--pi-secondary-background) 50%, transparent); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align:center; font-size:1.5em; background:color-mix(in srgb, var(--pi-secondary-background) 75%, transparent); color:var(--pi-secondary-background-label); } .portable-infobox .pi-data, .portable-infobox .pi-group { background:var(--wiki-content-background-color--secondary); } .portable-infobox .pi-image { padding: 8px; } .pi-image-thumbnail { max-width:100%; } .pi-caption { color: var(--wiki-content-text-mix-color); } .pi-section-navigation .pi-section-tab.pi-section-active, .pi-section-navigation .pi-section-tab.current, .pi-media-collection .pi-tab-link.current { background: var(--pi-secondary-background); color: var(--pi-secondary-background-label); } .pi-collapse > .pi-item:first-child { cursor: pointer; } /* overqualify these to overwrite normal content heading styles */ .mw-body .portable-infobox h2, .mw-body .portable-infobox h3 { border-bottom: 0; font-family: inherit; font-weight: 700; margin: 0; } /***************************** * End PortableInfoboxes * ******************************/ /******************* * Main page layout * ********************/ #mp-container { display:grid; gap:10px; } @media screen and (max-width:990px) { /* for mobile screens */ #mp-container{ grid-template-areas:var(--main-page-layout--mobile); grid-template-columns:var(--main-page-layout-columns--mobile,100%); } .mp-box.mp-hide-on-mobile { display:none; } } @media screen and (min-width:990px) and (max-width:1350px) { /* for narrow screens, between 990px and 1350px */ #mp-container { grid-template-areas:var(--main-page-layout--tablet); grid-template-columns:var(--main-page-layout-columns--tablet,1fr 1fr); } .mp-box.mp-hide-on-tablet { display:none; } } @media screen and (min-width:1350px) { /* for all other screens, 1350px and wider */ #mp-container { grid-template-areas:var(--main-page-layout--desktop); grid-template-columns:var(--main-page-layout-columns--desktop,2fr 1fr 2fr); } .mp-box.mp-hide-on-desktop { display:none; } } .mp-box { position:relative; display:flex; flex-flow:column nowrap; width: calc(100% - 2px); box-sizing: border-box; background:color-mix(in srgb, var(--wiki-content-background-color--secondary) 25%, transparent); border:1px solid var(--wiki-content-border-color); padding:0px; } .mp-body { height: 100%; display: flex; padding:0.5em; flex-flow: column nowrap; } .mp-box.centered-content .mp-body { height: 100%; display: flex; flex-flow: column nowrap; justify-content: space-evenly; } .mp-box.has-floating-image { display:block; } .mp-box.has-floating-image .mp-body { height:unset; display:block; } /* overqualified to override normal heading styles */ .mw-body .mp-box h2 { text-align:center; font-weight:bold; font-family:var(--wiki-heading-font-family); overflow: initial; border-bottom: 1px solid var(--wiki-content-border-color); font-size: 150%; margin: 0; padding: 5px 0; color:var(--wiki-content-heading-color); } #mp-box-welcome { text-align:center; position:relative; overflow:hidden; } #mp-box-welcome h2{ font-size: 200%; } #mp-welcome { display:flex; flex-flow:column nowrap; position: relative; height: 100%; z-index: 2; box-sizing: border-box; } #mp-welcome .welcome-subtitle { height: 100%; background:color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 85%, transparent); padding:0.5em; } #mp-banner { position: absolute; width: 100%; height: 100%; filter: blur(5px); z-index: -1; background: url(/images/e/e0/MP_banner.jpg); background-size: cover; background-repeat: no-repeat; background-position: top center; } .view-dark #mp-banner { filter: blur(5px) brightness(50%); } .view-light #mp-banner { filter: blur(5px) contrast(50%); } /* [[Template:MP_link]] */ .mp-links { --gap:10px; } .mp-links > ul { display: flex; flex-flow: row wrap; justify-content: space-evenly; margin: 2px; gap:var(--gap); } .mp-links > ul > li { display:flex; flex-flow:column nowrap; align-items:stretch; text-align: center; box-sizing:border-box; flex: max(calc(50% - var(--gap)), 5em) 1 1; outline:1px solid var(--wiki-content-link-color); transition:0.1s ease-in; } .mp-links > ul > li:hover { background-color:color-mix(in srgb, var(--wiki-content-link-color) 20%, transparent); } .mp-links.columns-1 > ul > li {flex: max(calc(100% - var(--gap)), 5em) 1 1;} .mp-links.columns-2 > ul > li {flex: max(calc(50% - var(--gap)), 5em) 1 1;} .mp-links.columns-3 > ul > li {flex: max(calc((100% / 3) - var(--gap)), 5em) 1 1;} .mp-links.columns-4 > ul > li {flex: max(calc(25% - var(--gap)), 5em) 1 1;} .mp-links.columns-5 > ul > li {flex: max(calc(20% - var(--gap)), 5em) 1 1;} .mp-links.columns-6 > ul > li {flex: max(calc((100% / 6) - var(--gap)), 5em) 1 1;} .mp-links.columns-7 > ul > li {flex: max(calc((100% / 7) - var(--gap)), 5em) 1 1;} .mp-links.columns-8 > ul > li {flex: max(calc((100% / 8) - var(--gap)), 5em) 1 1;} .mp-links.columns-max > ul > li {flex: max(calc(0% - var(--gap)), 5em) 1 1;} .mp-links > ul > li:hover a { text-decoration: underline; } .mp-links > ul > li > a { display: flex; align-items: center; justify-content: center; height:100%; flex:1 1 auto; box-sizing:border-box; padding:5px; } .mp-links > ul > li > a:first-child { height:100%; } .mp-links > ul > li > a:last-child:not(:first-child) { height:unset; } .mp-links.stretch, .mp-links.stretch > ul { height:100%; } .mp-links.side-image li { flex-flow:row nowrap; } .mp-links.plain > ul > li { outline-color:transparent; } /*********************** * End main page layout * ************************/ /********************************************************************************************************************* * Semantically-correct horizontal lists (for Module:Navbox, and they're more machine-readable than {{*}}-formatting) * **********************************************************************************************************************/ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: */ .hlist dt:not(:last-child)::after { content: ":\20"; } .hlist dd:not(:last-child)::after, .hlist li:not(:last-child)::after { /* "space, Middle Dot, space" We use unicode numbers instead of the raw characters due to a Firefox encoding bug on unicode characters. The space is also encoded because raw spaces combined with a unicode number strips the spaces under some conditions such as single-line lists */ /* content: "\20\00B7\20"; font-weight: bold; */ /* "space &nbsp; • &nbsp; space" There may (and likely) be an extra whitespace between <li>s, therefore we have to use a space character as last character of this sequence. By this way, the last space and the next whitespce will collapse as a single space, to make the whitespace on both sides of the middle dot the same width. */ content: "\20\A0\2022\A0\20"; font-weight: inherit; } /* Add parentheses around nested lists */ .hlist dd ol::before, .hlist dd ul::before, .hlist dd dl::before, .hlist dt ol::before, .hlist dt ul::before, .hlist dt dl::before, .hlist li ol::before, .hlist li ul::before, .hlist li dl::before { content: "\20("; font-weight: inherit; } .hlist dd ol::after, .hlist dd ul::after, .hlist dd dl::after, .hlist dt ol::after, .hlist dt ul::after, .hlist dt dl::after, .hlist li ol::after, .hlist li ul::after, .hlist li dl::after { content: ")"; font-weight: inherit; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) ".\20"; } /* Progressive enhancement: * try to make the dot always follow the list item in same line */ .hlist :is(li,dt,dd):not(:has(:is(li,dt,dd))){ display: inline-block; } /******************************************** * End semantically-correct horizontal lists * *********************************************/ /*** Miscellaneous ***/ .responsive-image { max-width:100%; height:auto; } .view-dark .invert-on-dark, .view-light .invert-on-light { filter:invert(100%); } .pixelated { image-rendering:pixelated; } @media screen and (min-width:720px) { .mobileonly { display:none; } } @media screen and (max-width:720px) { .nomobile { display:none; } } /*** Utility classes for standard MW galleries ***/ /* it's important that spaced comes before centered in the sheet */ .gallery.gallery.gallery.spaced { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */ display:flex; flex-flow:row wrap; justify-content:space-evenly; margin-left:unset; } .gallery.centered { text-align:center; } /************************** * Start Modular Templates * **************************/ /********* [[Template:Ambox]] *********/ .ambox { --ambox-color:var(--wiki-accent-color); border: 1px solid var(--wiki-content-border-color); border-left: 10px solid var(--ambox-color); border-radius: 2px; display: flex; align-items: center; gap: .6em; margin: 1em 0; padding: 3px .6em; background-color: var(--wiki-content-background-color--secondary); box-shadow: 2px 2px 5px 0px #0002; } @media (min-width: 720px) { .ambox { margin-inline: 10%; } } .ambox.tiny { padding: .04rem .5em; margin-inline: 0; width: fit-content; } .ambox + .ambox { margin-top: -.6em; } .ambox-content { flex: 1; } .ambox-content p { margin: .15em 0; } .ambox-title { font-weight: bold; } /********* [[Template:Hatnote]] *********/ .hatnote { padding: 1px 0 1px 1.6em; margin-bottom: 0.5em; font-style: italic; border-top: 1px solid var(--wiki-content-border-color--secondary); border-bottom: 1px solid var(--wiki-content-border-color--secondary); } .hatnote.icon { padding-left: 0; } /********* [[Template:Spoiler]] *********/ .spoiler-content { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 50%, transparent); transition: all 0.3s; cursor: pointer; overflow:auto; } @supports not (color:color-mix(in srgb, #000, transparent)) { .spoiler-content { background-color: var(--wiki-content-dynamic-color--secondary); } } .spoiler-content > * { pointer-events:none; opacity: 0; transition: all 0.3s; } .spoiler-content.show { background-color: transparent; } .spoiler-content.show > * { pointer-events:unset; opacity: 1; } /********* [[Template:Link icon]] *********/ .link-icon { --link-icon-line-height: 1.5em; --link-icon-size: 1.5em; display: inline-flex; align-items: center; height: var(--link-icon-line-height); vertical-align: bottom; } .link-icon .regular { align-self: center; } .link-icon .regular a { display: flex; } .link-icon .regular img { height: var(--link-icon-size); max-width: var(--link-icon-size); } .link-icon .fallback { outline: 1px solid var(--wiki-content-text-color); border-radius: 50%; text-align: center; width: var(--link-icon-size); line-height: var(--link-icon-size); } .link-icon.notext .fallback { display: inline-block; } .link-icon.notext { display: inline; } /********* [[Template:Quote]] *********/ .quote { background: var(--wiki-content-background-color--secondary); border-radius: 5px; border: 2px solid var(--wiki-content-border-color); margin: .5em 0; padding: .5em; overflow-y: hidden; } .quote .block { display: block; } .quote .title { font-size: large; font-weight: bold; } .quote .content { font-style: italic; } .quote .author { font-weight: bold; text-align: end; } .quote .marks-wrapper { display: flex; gap: 5px; } .quote .marks-wrapper::before, .quote .marks-wrapper::after { font-size: 100px; line-height: 0px; } .quote .marks-wrapper::before { content: "\201C"; margin-top: 40px; } .quote .marks-wrapper::after { content: "\201D"; align-self: end; margin-bottom: -10px; } .client-js .mw-charinsert-item { display:none; } /************************ * End Modular Templates * *************************/ /***************************** * Used by [[Template:Color]] * ******************************/ .color__splotch { display:inline-block; height:1em; width:1em; box-sizing:border-box; vertical-align:text-top; border-radius:50%; border:1px solid var(--wiki-content-text-color); } /********************* * End Template:Color * **********************/ 62bc75372612e5dbae3db08ee2f958809217f0d5 MediaWiki:Theme-definitions 8 227 251 2025-05-10T19:28:51Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki * light[bundled|kind=light] * dark[bundled|kind=dark] 05cdfdf87ea42919cc6ea267d3972cc06847ed60 MediaWiki:Gadgets/purge/main.js 8 228 252 2025-05-10T19:28:51Z ARTIFICER 564804 Importing default loadout javascript text/javascript (function() { if ( document.getElementById( 'ca-cargo-purge' )){ return } // disable if Cargo has already added a purge button if ( mw.config.get( 'wgNamespaceNumber' ) === -1 ) { return } // disable on special pages var l10n = (function(){ var text = { 'buttonlabel': { 'en': 'Purge cache', 'de': 'Aktualisieren', 'fr': 'Purger', 'ru': 'Обновить', 'pt': 'Actualizar', 'pt-br': 'Actualizar', }, 'hovertext': { 'en': 'Purge the server cache for this page', 'de': 'Den Server-Cache dieser Seite löschen', 'fr': 'Purge le cache du serveur de cette page', 'ru': 'Очистить кэш сервера на этой странице', 'pt': 'Limpe o cache do servidor para esta página', 'pt-br': 'Limpe o cache do servidor para esta página', }, 'errortext': { 'en': 'Failed to purge the page! Error code: $1' } } var lang = mw.config.get( 'wgUserLanguage' ) || 'en'; return function(key){ return text[key] && (text[key][lang] || text[key]['en']) || ''; } })(); var url = new URL(window.location.href); url.searchParams.set('action', 'purge'); var button = mw.util.addPortletLink('p-cactions', url.href, l10n('buttonlabel'), 'ca-gadget-purgecache', l10n('hovertext'), '1'); button.addEventListener('click', (function(event) { event.preventDefault(); var api = new mw.Api(); api.post({ action: 'purge', titles: mw.config.get('wgPageName'), forcerecursivelinkupdate: true }).then(function() { window.location.reload(true); }).fail(function(code) { mw.notify(l10n('errortext').replace('$1', code)); }); })); console.log('purge loaded'); })(); 6e5bbcc0a70b1d962c5b9376272ddbe79443d8fc MediaWiki:Gadgets-definition 8 229 253 2025-05-10T19:28:51Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki * userProfile[ResourceLoader|dependencies=mediawiki.api,jquery,mediawiki.util|default]|userProfile.js|userProfile.css f21ca689883b0e462704d40f91566b59a4e0a7e6 MediaWiki:Gadget-userProfile.js 8 230 254 2025-05-10T19:28:52Z ARTIFICER 564804 Importing default loadout javascript text/javascript // User profile // <nowiki> mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ).done( function() { var username = mw.config.get('wgRelevantUserName'); var lang = mw.language.bcp47(mw.config.get('wgUserLanguage')); if ( username && !window.loadedHorseUserProfile ) { window.loadedHorseUserProfile = true; var dateOptions = { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", timeZone: "UTC", timeZoneName: "short" }; var api = new mw.Api(); if ( mw.util.isIPAddress(username) ) api.get( { action: 'query', list: ['usercontribs', 'blocks'], ucuser: username, ucprop: [], uclimit: 'max', bkip: username, bkprop: ['user', 'by', 'timestamp', 'expiry', 'reason'], bklimit: 1, formatversion: 2 } ).done( function(data) { var editcount = data.query.usercontribs.length; if ( data.continue ) editcount = data.limits.usercontribs+'+' var user = { groups: ['*'], editcount: editcount }; formatProfile(user, data.query.blocks[0]); } ); else api.get( { action: 'query', list: 'users', ususers: username, usprop: ['groups', 'editcount', 'registration', 'blockinfo', 'emailable'], formatversion: 2 } ).done( function(data) { var user = data.query.users[0]; var block; if ( user.blockid ) block = { user: username, by: user.blockedby, timestamp: user.blockedtimestamp, expiry: user.blockexpiry, reason: user.blockreason }; formatProfile(user, block); } ); function formatProfile(user, block) { user.groups.splice(user.groups.indexOf('*'), 1); var text = '<div class="horse-userprofile-info">'; if ( user.groups.length ) { var groupList = user.groups.map( function(group) { var grouppage = '{{MediaWiki:grouppage-'+group+'}}'; return [ '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'}}]] | {{int:group-'+group+'}} }}', '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'-member|'+username+'}}]] | {{int:group-'+group+'-member|'+username+'}} }}' ]; } ).reduce( function(prev, cur) { prev[0].push(cur[0]); prev[1].push(cur[1]); return prev; }, [[], []] ); text += '\n\n<span>{{int:prefs-memberingroups|'+user.groups.length+'|'+username+'}}</span>\t<span>{{int:prefs-memberingroups-type|'+mw.language.listToText(groupList[0])+'|'+mw.language.listToText(groupList[1])+'}}</span>'; } text += '\n\n<span>{{int:prefs-edits}}</span>\t<span>[[Special:Contribs/'+username+'|'+mw.language.convertNumber(user.editcount)+']]</span>'; if ( user.registration ) { text += '\n\n<span>{{int:prefs-registration}}</span>\t<span>'+mw.language.convertNumber(new Date(user.registration).toLocaleString(lang, dateOptions))+'</span>'; if ( !user.emailable ) text += '\n\n<span>{{int:nowikiemailtext|'+username+'}}</span>'; } text += '\n\n</div>'; if ( block && mw.config.get('wgArticleId') !== 0 ) { var blockDate = new Date(block.timestamp); var blockexpiry = '{{int:infiniteblock}}'; if ( !['infinite', 'indefinite', 'infinity', 'never'].includes(block.expiry) ) { var expiry = new Date(block.expiry.replace( /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2,3})/, '$1-$2-$3T$4:$5:$6Z' )); var duration = expiry - blockDate; var blockDuration = []; var factor = 1000; if ( duration % factor === 0 ) blockDuration = ['duration-seconds', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-minutes', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-hours', Math.floor(duration / factor)]; factor *= 24; if ( duration % factor === 0 ) blockDuration = ['duration-days', Math.floor(duration / factor)]; if ( duration % (factor*7) === 0 ) blockDuration = ['duration-weeks', Math.floor(duration / (factor*7))]; if ( duration % (factor*30) === 0 ) blockDuration = ['months', Math.floor(duration / (factor*30))]; factor *= 365; if ( duration % factor === 0 ) blockDuration = ['duration-years', Math.floor(duration / factor)]; if ( duration % (factor*10) === 0 ) blockDuration = ['duration-decades', Math.floor(duration / (factor*10))]; if ( duration % (factor*100) === 0 ) blockDuration = ['duration-centuries', Math.floor(duration / (factor*100))]; if ( duration % (factor*1000) === 0 ) blockDuration = ['duration-millennia', Math.floor(duration / (factor*1000))]; if ( blockDuration.length < 2 || blockDuration[1] > 1000 ) blockexpiry = mw.language.convertNumber(expiry.toLocaleString(lang, dateOptions)); else blockexpiry = '{{int:'+blockDuration.join('|')+'}}'; } text += '<div class="horse-userprofile-block mw-warning-with-logexcerpt"><div>\n{{int:blocked-notice-logextract|'+username+'}}\n'; text += '* '+mw.language.convertNumber(blockDate.toLocaleString(lang, dateOptions))+' {{int:logentry-block-block|[[User:'+block.by+'|'+block.by+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+block.by+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+block.by+'|{{int:contribslink}}]]</span></span>|'+block.by; if ( mw.util.isIPAddress(block.user, true) ) text += '|[[Special:Contribs/'+block.user+'|'+block.user+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+block.user+'|{{int:talkpagelinktext}}]]</span></span>'; else text += '|[[User:'+block.user+'|'+block.user+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+block.user+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+block.user+'|{{int:contribslink}}]]</span></span>'; text += '|'+block.user+'|'+blockexpiry+'|}} <span class="comment">{{int:parentheses|'+block.reason+'}}</span></div></div>'; } api.parse( text, { disablelimitreport: true, wrapoutputclass: 'horse-userprofile mw-message-box mw-content-'+($('#contentSub').attr('dir')||'ltr'), uselang: mw.config.get('wgUserLanguage') } ).done( function(parsedText) { $('#contentSub').append(parsedText.replace( /\u29FCgroup-([^\u29FC\u29FD]+?)(?:-member)?\u29FD/g, '$1' )); } ); } } } ); // </nowiki> 2df0d96710fe446c5289ea1c484419b50c43fd5b MediaWiki:Gadget-userProfile.css 8 231 255 2025-05-10T19:28:52Z ARTIFICER 564804 Importing default loadout css text/css #contentSub > * + .horse-userprofile { margin-top: 1em; } .horse-userprofile { font-size: 120%; color: var(--wiki-content-text-color); border: 2px solid var(--wiki-content-border-color); padding: 6px 12px; } .horse-userprofile-info span:first-of-type { font-weight: bold; } 1729445bb17e2974426befaf9bd441ab4bf189c5 MediaWiki:Gadgets/uploadMultipleFiles/main.js 8 232 256 2025-05-10T19:28:53Z ARTIFICER 564804 Importing default loadout javascript text/javascript /* Modified version of https://dev.fandom.com/wiki/UploadMultipleFiles * from https://terraria.wiki.gg/wiki/MediaWiki:Gadget-uploadMultipleFiles.js */ mw.loader.using(["site", "mediawiki.util"]).then(function() { if (mw.config.get("wgCanonicalSpecialPageName") !== "Upload") return; if (window.__wgg_UploadMultipleFiles_IsLoaded) { return; } window.__wgg_UploadMultipleFiles_IsLoaded = true; var l10nFactory = l10nFactory || function($lang, $data) { return function ($key) { // (null == undefined) is true, (null === undefined) is false return ($data[$lang] && $data[$lang][$key] != null) ? $data[$lang][$key] : $data.en[$key]; }; }; const l10n = l10nFactory(mw.config.get("wgUserLanguage"), { en: { multiupload: "Upload multiple files:", yes: "Yes", no: "No", sourcefiles: "Source files:", categoryname: "Category name:", categorynamehint: "Page name of the category the files will automatically be added to, e.g. Item images", categorynamespace: "Category", uploadfiles: "Upload files", nofiles: "Please select some files first.", nolicense: "Please select a valid license first.", summary: "Summary", license: "Licensing", categories: "Categories", uploading: "Uploading files...", uploaded: "Uploaded:", failed: "Failed:", done: "Done." } }); const getUploadDescription = function() { var sections = []; var summary = $("#wpUploadDescription").val(); var licenseDisplayName = $("#wpLicense option:selected").val(); var categoryName = $("#multiFileCategory").val(); if (summary !== "") sections.push(summary); if (licenseDisplayName !== "") { var licenseTemplateText = $("#wpLicense option:selected").prop("title"); sections.push("== " + l10n("license") + " ==\n" + licenseTemplateText); } if (categoryName !== "") sections.push("[[" + l10n("categorynamespace") + ":" + categoryName + "]]"); return sections.join("\n\n"); }; const getWatchlistPreference = function() { if ($("#wpWatchthis").is(":checked")) { return "watch"; } else { return "nochange"; } }; $(function(){ $("#wpUploadFile").parent().parent().addClass("regularFileSelect"); $("tr.regularFileSelect").before('<tr><td class="mw-label">'+ l10n("multiupload") + '</td><td class="mw-input"><label><input type="radio" name="multipleFiles" value="'+ l10n("yes") + '" /> '+ l10n("yes") + '</label> &nbsp; <label><input type="radio" name="multipleFiles" value="'+ l10n("no") + '" checked="" /> '+ l10n("no") + '</label></td></tr>'); $("tr.regularFileSelect").after('<tr class="multipleFileSelect" style="display:none;"><td class="mw-label">' + l10n("sourcefiles") + '</td><td class="mw-input"><input type="file" id="multiupload" multiple /></td></tr>'); $("input[name='wpUpload']").addClass("regularFileSelect"); $("#wpDestFile").parent().parent().addClass("regularFileSelect"); $("#wpIgnoreWarning").parent().parent().addClass("regularFileSelect"); // Append "category name" textbox to multiupload section $("#mw-upload-form #mw-htmlform-description tbody").append('<tr class="mw-htmlform-field-HTMLTextField multipleFileSelect" style="display:none;"><td class="mw-label"><label for="multiFileCategory"><abbr title="' + l10n("categorynamehint") + '">' + l10n("categoryname") + '</abbr></label></td><td class="mw-input"><input id="multiFileCategory" name="multiFileCategory" size="60"></td></tr>'); $("input[name='wpUpload']").after('<input type="button" value="' + l10n("uploadfiles") + '" class="multipleFileSelect" style="display:none;" id="multiFileSubmit" />'); $("input[name='multipleFiles']").change(function() { if (this.value === l10n("yes")) { $(".regularFileSelect").hide(); $(".multipleFileSelect").show(); } else { $(".regularFileSelect").show(); $(".multipleFileSelect").hide(); } }); $("#multiFileSubmit").click(function() { var files = $("#multiupload")[0].files; // Cancel upload if no files are selected if (files.length === 0) { alert(l10n("nofiles")); return false; } // Cancel upload if no license is selected if ($("#wpLicense option:selected").val() === "" && !mw.config.get("UMFBypassLicenseCheck")) { alert(l10n("nolicense")); return false; } // Description is summary + license + category var description = getUploadDescription(); var watch = getWatchlistPreference(); $("#firstHeading").text(l10n("uploading")); $("#mw-content-text").html("<h3>" + l10n("uploaded") + "</h3><ul></ul><div style='display:none;' id='multiUploadFailed'><h3>" + l10n("failed") + "</h3><ul></ul></div>"); var currentFileIdx = 0; var uploadCurrentFile; uploadCurrentFile = function() { if (currentFileIdx > files.length) { $("#mw-content-text").append("<h3>"+ l10n("done") + "</h3>"); return; } if (files[currentFileIdx] === undefined) { currentFileIdx++; uploadCurrentFile(); return; } fd = new FormData(); fd.append("action", "upload"); fd.append("token", mw.user.tokens.get("csrfToken")); fd.append("filename", files[currentFileIdx].name); fd.append("file", files[currentFileIdx]); fd.append("text", description); fd.append("watchlist", watch); fd.append("ignorewarnings", 1); fd.append("format", "json"); $.ajax({ url: mw.util.wikiScript("api"), method: "POST", data: fd, cache: false, contentType: false, processData: false, type: "POST" }).done(function(d) { if (d.error == undefined) { $("#mw-content-text > ul").append('<li><a href="' + d.upload.imageinfo.descriptionurl + '" target="_blank">' + d.upload.filename + '</a></li>'); } else { $("#multiUploadFailed ul").append('<li>' + files[currentFileIdx].name + '</li>'); $("#multiUploadFailed").show(); } currentFileIdx++; uploadCurrentFile(); }).fail(function() { $("#multiUploadFailed ul").append('<li>' + files[currentFileIdx].name + '</li>'); $("#multiUploadFailed").show(); currentFileIdx++; uploadCurrentFile(); }); }; uploadCurrentFile(); }); }); }); b05306b3ea3271c87b87546ac6619aa30e47782f MediaWiki:Licenses 8 233 257 2025-05-10T19:28:53Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki *Game content ** License|game|This contains content from the game or its official media *Commonly used ** License|fairuse|This will be used in a way that qualifies as "fair use" under US law ** License|CC0|This file is licensed under the CC0 1.0 License ** License|CC-BY-NC-ND|This is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License ** License|CC-BY-NC-SA|This is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License ** License|CC-BY-NC|This is licensed under the Creative Commons Attribution-NonCommercial 3.0 License ** License|CC-BY-ND|This is licensed under the Creative Commons Attribution-NoDerivs 3.0 License ** License|CC-BY-SA|This is licensed under the Creative Commons Attribution-ShareAlike 3.0 License ** License|permission|The copyright holder gave permission to use this work only in wiki.gg articles ** License|CC-BY|This is licensed under the Creative Commons Attribution 3.0 License ** License|CC-PD|This is in the public domain ** License|CC-SRR|This is licensed under the Creative Commons Some Rights Reserved License *Unsure or unknown ** License|nolicense|I don't know the license 80cf31331a258a3fc3651f6d5961fbb5c1822cee MediaWiki:Copyright 8 234 258 2025-05-10T19:28:53Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{int:wikigg-copyright|CC BY-SA 4.0|$1}} 999f12b472b0177c515e14cda21d5e4ddc0603e1 MediaWiki:Mainpage 8 235 259 2025-05-10T19:28:54Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki {{SITENAME}} 3879910e8b355a24373fd09ccc909145b2639907 MediaWiki:Apioutput.css 8 236 260 2025-05-10T19:28:54Z ARTIFICER 564804 Importing default loadout css text/css /* All CSS here is applied on api.php pages */ @media (prefers-color-scheme: dark) { body { background-color:#20211f; border-color: #7b7261; color: #f6ecdb; } h1, h2, h3, h4, h5, h6 { color: rgb(234, 224, 207); border-color: rgb(83, 84, 81); } .mw-highlight .s2 { color: rgb(206, 99, 91); } a { color: rgb(133, 180, 221); } a:visited { color: rgb(141, 127, 218); } pre, code, .mw-code { background-color: rgb(34, 35, 33); color: rgb(234, 224, 207); border-color: rgb(63, 64, 62); } } c95cf2c22c12d821f22b745f2aa78d4f6f711500 MediaWiki:Gadgets/hoverShowSpoilers/main.css 8 237 261 2025-05-10T19:28:54Z ARTIFICER 564804 Importing default loadout css text/css .spoiler-content:hover > * { pointer-events:unset; opacity: 1; } .spoiler-content:hover { background-color: transparent; } 1c73aafcb749d7e0e9107c1045310d2af70aae7e MediaWiki:Common.css/doc 8 238 262 2025-05-10T19:28:55Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <div class="mw-parser-output" id="dl-variable-doc"><!-- hide this in your global.css if you're familiar with how default loadout works and this documentation is just in your way --> ==Documentation== This wiki is using the theming template from the [[dlw:|default loadout]]. This template is intended to minimize the work required to create a custom colored version of the standard [[mw:Skin:Vector|Vector]] skin, while maximizing the various nooks and crannies that those colors reach, all while keeping everything legible and matching. Please be aware of the [[support:Customization policy|customization policy]] when modifying the theme. ===Themes=== The [[support:Theme Toggle|Theme Toggle]] extension is installed, and allows multiple themes to be used. In the actual stylesheet below this documentation, you'll find two huge rules at the top, each containing lots of [https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties CSS color variables]. They look like this: <syntaxhighlight lang=css> :root, /* Begin light styles, delete from here to "end light styles" if you don't want your wiki to support any light themes (remove from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=light, */ /* individual themes are prefixed with .theme- instead */ .view-light { /********************** * Probably edit these * [ LIGHT VIEW ] ***********************/ --wiki-body-background-color: #F6F6F6; --wiki-body-background-image: url(/images/8/80/Site-background.jpg); /* and so on */ } .view-dark { /********************** * Probably edit these * [ DARK VIEW ] ***********************/ --wiki-body-background-color: #171717; --wiki-body-background-image: url(/images/c/c4/Site-background-dark.jpg); /* and so on */ } </syntaxhighlight> These are the standard light and dark themes, defined in [[Mediawiki:Theme-definitions]]. '''Important''': if you want your wiki to only support a single theme, edit that page and remove the line you don't want (don't remove both). The <code>:root</code> selector is a fallback, meaning that in case something happens and Theme Toggle fails to work, the following theme will still mostly work. If you have multiple themes, you can move the <code>:root</code> rule to whichever you'd consider the "default" theme. ===Non-color variables=== {| class="wikitable" ! Variable name !! Notes |- | --wiki-body-background-image | This is the image path to the wiki's background image. Usually this is uploaded to File:Site-background.jpg, File:Site-background-light.jpg, and/or File:Site-background-dark.jpg. While there's not a hard file size limit, it is recommended that this not exceed 250 KB. File size can be reduced by resizing (anything over 2560x1440p is excessive), converting to a jpg, and compressed using sites like [https://tinypng.com TinyPNG]. |- | --wiki-body-background-position | The [https://developer.mozilla.org/en-US/docs/Web/CSS/background-position background-position] of the background image. Usually this is set to <code>top center</code>. |- | --wiki-body-background-size | The [https://developer.mozilla.org/en-US/docs/Web/CSS/background-size background-size] of the background image. Usually this is set to <code>cover</code>. |- | --wiki-body-background-repeat | The [https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat background-repeat] of the background image. Usually this is set to <code>no-repeat</code>. |- | --wiki-body-background-attachment | The [https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment background-attachment] of the background image. Usually this is set to <code>fixed</code>. |- | --wiki-body-font-family | The font family of most of the wiki, such as the sidebar, navigation, and content text. Usually this is sans-serif. If modifying this, use a simple font that is easy to read. See <code>--wiki-heading-font-family</code> if you want to incorporate a more decorative font into the theme. |- | --wiki-heading-font-family | The font family of headings, such as the page title and section headings. This font is usually displayed in a larger size, so it's safer to use a more decorative font than <code>--wiki-body-font-family</code>, but still try to keep it legible. |- | --wiki-sidebar-heading-font-family | The font family of sidebar headings. In contrast to <code>--wiki-heading-font-family</code>, this is usually displayed in a smaller size, so keep it simple and easy to read. |- | --wiki-sidebar-border-radius | The [https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius border-radius] of the sidebar. If <code>--wiki-sidebar-portal-spacing</code> is set to 0, then only the top and bottom corners of the sidebar as a whole will be affected, otherwise every portal will have all its corners affected. Units must be specified even if this is set to 0. |- | --wiki-sidebar-portal-spacing | The space between each portal in the sidebar. Units must be specified even if this is set to 0. |- | --wiki-content-border-width | The thickness of the border around the content area. |- | --wiki-sidebar-border-width | The thickness of the border around the sidebar portals. |- | --wiki-content-background-opacity | The opacity of the main content area, to let the wiki's background image show through. Please keep this high, usually above 90%, or it can make reading text difficult. |- | --wiki-sidebar-background-opacity | The background opacity of the sidebar. Usually this inherits <code>--wiki-content-background-opacity</code>. |- | --wiki-icon-general-filter | A filter applied to many icons to make them visible on dark themes. Usually this is just <code>invert(100%)</code> on dark themes and blank on light themes. |- | --wiki-icon-to-link-filter | A filter that converts many icons into the same color as <code>--wiki-content-link-color</code>. This can be generated by plugging that into https://mrpie5.gitlab.io/css-filter-generator/. |} ===List of all colors with contrast checking=== The table below shows all the colors currently in use, as well as notes on how to use them. The last column shows which colors are expected to show up as text against other colors. With the exception of <code>--wiki-content-text-mix-color-95</code>, all text in the last column should be ''clearly'' legible. If it is not, you may need to adjust one of the referenced colors in your color palette. Keep in mind that changes to the opacity variables in the section above will cause the content and sidebar background colors to mix with the body background color/image, so the contrasts below may not be perfectly accurate. {| class="wikitable" ! Variable name !! Color !! style="width: 40em;" | Notes !! Test contrast against these variables |- | --wiki-body-background-color | style="background-color:var(--wiki-body-background-color);" | | The background color behind the background image. This usually only shows up if the background image doesn't load, doesn't fill the screen, or has some transparency. This color should be similar to the overall color of the background image, or the top-left corner if it is made up of many different colors. In the former case, https://matkl.github.io/average-color/ is helpful. | style="background-color:var(--wiki-body-background-color);" | <span style="color:var(--wiki-body-dynamic-color);">--wiki-body-dynamic-color</span><br/> <span style="color:var(--wiki-body-dynamic-color--secondary);">--wiki-body-dynamic-color--secondary</span><br/> |- | --wiki-body-dynamic-color | style="background-color:var(--wiki-body-dynamic-color);" | | This is expected to contrast sharply with the body-background-color, for cases when text needs to be displayed against it. Usually this is {{color|#000}} on light themes and {{color|#fff}} on dark themes. | style="background-color:var(--wiki-body-dynamic-color);" | <span style="color:var(--wiki-body-background-color)">--wiki-body-background-color</span><br/> <span style="color:var(--wiki-body-dynamic-color--inverted);">--wiki-body-dynamic-color--inverted</span><br/> <span style="color:var(--wiki-body-dynamic-color--secondary--inverted);">--wiki-body-dynamic-color--secondary--inverted</span><br/> |- | --wiki-body-dynamic-color--inverted | style="background-color:var(--wiki-body-dynamic-color--inverted);" | | The inverse of <code>--wiki-body-dynamic-color</code>. This should optimally have almost no contrast with the body-background-color. | style="background-color:var(--wiki-body-dynamic-color--inverted);" | <span style="color:var(--wiki-body-dynamic-color);">--wiki-body-dynamic-color</span><br/> <span style="color:var(--wiki-body-dynamic-color--secondary);">--wiki-body-dynamic-color--secondary</span><br/> |- | --wiki-body-dynamic-color--secondary | style="background-color:var(--wiki-body-dynamic-color--secondary);" | | A slightly different version of body-dynamic-color. Usually this is {{color|#333}} on light themes and {{color|#ccc}} on dark themes. | style="background-color:var(--wiki-body-dynamic-color--secondary);" | <span style="color:var(--wiki-body-background-color)">--wiki-body-background-color</span><br/> <span style="color:var(--wiki-body-dynamic-color--inverted);">--wiki-body-dynamic-color--inverted</span><br/> <span style="color:var(--wiki-body-dynamic-color--secondary--inverted);">--wiki-body-dynamic-color--secondary--inverted</span><br/> |- | --wiki-body-dynamic-color--secondary--inverted | style="background-color:var(--wiki-body-dynamic-color--secondary--inverted);" | | The inverse of <code>--wiki-body-dynamic-color--secondary</code>. | style="background-color:var(--wiki-body-dynamic-color--secondary--inverted);" | <span style="color:var(--wiki-body-dynamic-color);">--wiki-body-dynamic-color</span><br/> <span style="color:var(--wiki-body-dynamic-color--secondary);">--wiki-body-dynamic-color--secondary</span><br/> |- | --wiki-content-background-color | style="background-color:var(--wiki-content-background-color);" | | The background color of the main content area. | style="background-color:var(--wiki-content-background-color);" | <span style="color:var(--wiki-content-text-color)">--wiki-content-text-color</span><br/> <span style="color:var(--wiki-content-link-color)">--wiki-content-link-color</span><br/> <span style="color:var(--wiki-content-link-color--visited)">--wiki-content-link-color--visited</span><br/> <span style="color:var(--wiki-content-link-color--hover)">--wiki-content-link-color--hover</span><br/> <span style="color:var(--wiki-content-redlink-color)">--wiki-content-redlink-color</span><br/> <span style="color:var(--wiki-content-text-mix-color)">--wiki-content-text-mix-color</span><br/> <span style="color:var(--wiki-content-dynamic-color)">--wiki-content-dynamic-color</span><br/> <span style="color:var(--wiki-content-dynamic-color--secondary)">--wiki-content-dynamic-color--secondary</span><br/> <span style="color:var(--wiki-content-heading-color)">--wiki-content-heading-color</span><br/> <span style="color:var(--wiki-accent-color)">--wiki-accent-color</span><br/> <span style="color:var(--wiki-neutral-color)">--wiki-neutral-color</span><br/> <span style="color:var(--wiki-success-color)">--wiki-success-color</span><br/> <span style="color:var(--wiki-alert-color)">--wiki-alert-color</span><br/> |- | --wiki-content-background-color--secondary | style="background-color:var(--wiki-content-background-color--secondary);" | | A secondary content background to highlight certain things. Usually this is <code>--wiki-content-background-color</code> with saturation and/or value reduced or increased by about 10%, but you're free to make it whatever you want provided the contrast checks to the right still pass. | style="background-color:var(--wiki-content-background-color--secondary);" | <span style="color:var(--wiki-content-text-color)">--wiki-content-text-color</span><br/> <span style="color:var(--wiki-content-link-color)">--wiki-content-link-color</span><br/> <span style="color:var(--wiki-content-link-color--visited)">--wiki-content-link-color--visited</span><br/> <span style="color:var(--wiki-content-link-color--hover)">--wiki-content-link-color--hover</span><br/> <span style="color:var(--wiki-content-redlink-color)">--wiki-content-redlink-color</span><br/> <span style="color:var(--wiki-content-text-mix-color)">--wiki-content-text-mix-color</span><br/> <span style="color:var(--wiki-content-dynamic-color)">--wiki-content-dynamic-color</span><br/> <span style="color:var(--wiki-content-dynamic-color--secondary)">--wiki-content-dynamic-color--secondary</span><br/> <span style="color:var(--wiki-content-heading-color)">--wiki-content-heading-color</span><br/> <span style="color:var(--wiki-accent-color)">--wiki-accent-color</span><br/> <span style="color:var(--wiki-neutral-color)">--wiki-neutral-color</span><br/> <span style="color:var(--wiki-success-color)">--wiki-success-color</span><br/> <span style="color:var(--wiki-alert-color)">--wiki-alert-color</span><br/> |- | --wiki-content-border-color | style="background-color:var(--wiki-content-border-color);" | | Border color for the main content area and elements within it. | N/A |- | --wiki-content-border-color--secondary | style="background-color:var(--wiki-content-border-color--secondary);" | | A secondary content border color for elements that do not need to stand out as much. Usually this is <code>--wiki-content-border-color</code> with 50% transparency, but it can be adjusted or made identical if it is too subtle. | N/A |- | --wiki-content-border-color--accent | style="background-color:var(--wiki-content-border-color--accent);" | | A border color that is used as an accent. Usually this is <code>--wiki-accent-color</code> with 50% transparency, but it can be any variation of the accent color. | N/A |- | --wiki-content-text-color | style="background-color:var(--wiki-content-text-color);" | | Text color for the main content area. | style="background-color:var(--wiki-content-text-color);" | <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary)">--wiki-content-background-color--secondary</span><br/> |- | --wiki-content-link-color | style="background-color:var(--wiki-content-link-color);" | | Links within the content area. Please do not make this red, as red links on wikis traditionally denote pages that don't exist. | style="background-color:var(--wiki-content-link-color);" | <span style="color:var(--wiki-content-link-label-color);">--wiki-content-link-label-color</span> |- | --wiki-content-link-label-color | style="background-color:var(--wiki-content-link-label-color);" | | This is used when placing text on an element with the link color as a background, such as a button. | style="background-color:var(--wiki-content-link-label-color);" | <span style="color:var(--wiki-content-link-color);">--wiki-content-link-color</span> |- | --wiki-content-link-color--visited | style="background-color:var(--wiki-content-link-color--visited);" | | The color of visited links. This is optional, and usually inherits <code>--wiki-content-link-color</code>. | style="background-color:var(--wiki-content-link-color--visited);" | <span style="color:var(--wiki-content-background-color);">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary);">--wiki-content-background-color--secondary</span> |- | --wiki-content-link-color--hover | style="background-color:var(--wiki-content-link-color--hover);" | | The color links change to when hovered over. This is optional, and usually inherits <code>--wiki-content-link-color</code>. | style="background-color:var(--wiki-content-link-color--hover);" | <span style="color:var(--wiki-content-background-color);">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary);">--wiki-content-background-color--secondary</span> |- | --wiki-content-redlink-color | style="background-color:var(--wiki-content-redlink-color);" | | The color of links to pages that don't exist. Since these should only rarely be seen, you can be a little lax about choosing a color that contrasts with the background, but it should still be legible. | style="background-color:var(--wiki-content-redlink-color);" | <span style="color:var(--wiki-content-background-color);">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary);">--wiki-content-background-color--secondary</span> |- | --wiki-content-text-mix-color | style="background-color:var(--wiki-content-text-mix-color);" | | A mix of <code>--wiki-content-text-color</code> and <code>--wiki-content-background-color</code>, calculated automatically. This is generally used to mark disabled elements or placeholder text. | style="background-color:var(--wiki-content-text-mix-color);" | <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary)">--wiki-content-background-color--secondary</span><br/> <span style="color:var(--wiki-content-text-mix-color-95)">--wiki-content-text-mix-color-95</span> |- | --wiki-content-text-mix-color-95 | style="background-color:var(--wiki-content-text-mix-color-95);" | | The same as <code>--wiki-content-text-mix-color</code>, but the mix is 95% <code>--wiki-content-background-color</code>, calculated automatically. This is used to mark disabled elements. The contrast checker to the right should actually be very hard to read but not impossible. | style="background-color:var(--wiki-content-text-mix-color-95);" | <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary)">--wiki-content-background-color--secondary</span> |- | --wiki-content-dynamic-color | style="background-color:var(--wiki-content-dynamic-color);" | | This is expected to contrast sharply with <code>--wiki-content-background-color</code>. Usually this is {{color|#000}} on light themes and {{color|#fff}} on dark themes. | style="background-color:var(--wiki-content-dynamic-color);" | <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-dynamic-color--inverted)">--wiki-content-dynamic-color--inverted</span><br/> <span style="color:var(--wiki-content-dynamic-color--secondary--inverted)">--wiki-content-dynamic-color--secondary--inverted</span><br/> |- | --wiki-content-dynamic-color--inverted | style="background-color:var(--wiki-content-dynamic-color--inverted);" | | The inverse of <code>--wiki-content-dynamic-color</code>. | style="background-color:var(--wiki-content-dynamic-color--inverted);" | <span style="color:var(--wiki-content-dynamic-color)">--wiki-content-dynamic-color</span><br/> <span style="color:var(--wiki-content-dynamic-color--secondary)">--wiki-content-dynamic-color--secondary</span><br/> |- | --wiki-content-dynamic-color--secondary | style="background-color:var(--wiki-content-dynamic-color--secondary);" | | A slightly different version of <code>--wiki-content-dynamic-color</code>. Usually this is {{color|#333}} on light themes and {{color|#ccc}} on dark themes. | style="background-color:var(--wiki-content-dynamic-color--secondary);" | <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-dynamic-color--inverted)">--wiki-content-dynamic-color--inverted</span><br/> <span style="color:var(--wiki-content-dynamic-color--secondary--inverted)">--wiki-content-dynamic-color--secondary--inverted</span><br/> |- | --wiki-content-dynamic-color--secondary--inverted | style="background-color:var(--wiki-content-dynamic-color--secondary--inverted);" | | The inverse of <code>--wiki-content-dynamic-color--secondary</code>. | style="background-color:var(--wiki-content-dynamic-color--secondary--inverted);" | <span style="color:var(--wiki-content-dynamic-color)">--wiki-content-dynamic-color</span><br/> <span style="color:var(--wiki-content-dynamic-color--secondary)">--wiki-content-dynamic-color--secondary</span><br/> |- | --wiki-content-heading-color | style="background-color:var(--wiki-content-heading-color);" | | The color of headings, such as the page title and section headings. Usually this is set to <code>--wiki-content-text-color</code>, but feel free to give it a different color to spice up the theme a little. | style="background-color:var(--wiki-content-heading-color);" | <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span> |- | --wiki-accent-color | style="background-color:var(--wiki-accent-color);" | | Used to style infoboxes, navboxes, focused element outlines, and some buttons, such as the save button when editing. | style="background-color:var(--wiki-accent-color);" | <span style="color:var(--wiki-accent-label-color)">--wiki-accent-label-color</span><br/> <span style="color:var(--wiki-accent-link-color)">--wiki-accent-link-color</span><br/> <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary)">--wiki-content-background-color--secondary</span><br/> |- | --wiki-accent-color--hover | style="background-color:var(--wiki-accent-color--hover);" | | The color of accent-color when hovered over, in some cases. Usually this is just accent-color with saturation and/or value reduced or increased by about 10%, but you're free to make it whatever you want provided the contrast checks to the right still pass. | style="background-color:var(--wiki-accent-color--hover);" | <span style="color:var(--wiki-accent-label-color)">--wiki-accent-label-color</span> |- | --wiki-accent-label-color | style="background-color:var(--wiki-accent-label-color);" | | The color of normal text against the accent color. | style="background-color:var(--wiki-accent-label-color);" | <span style="color:var(--wiki-accent-color)">--wiki-accent-color</span><br/> <span style="color:var(--wiki-accent-color--hover)">--wiki-accent-color--hover</span><br/> |- | --wiki-accent-link-color | style="background-color:var(--wiki-accent-link-color);" | | The color of links against the accent color. | style="background-color:var(--wiki-accent-link-color);" | <span style="color:var(--wiki-accent-color)">--wiki-accent-color</span> |- | --wiki-sidebar-background-color | style="background-color:var(--wiki-sidebar-background-color);" | | The background color of the sidebar to the left of the content area. Usually this inherits <code>--wiki-content-background-color</code>. | style="background-color:var(--wiki-sidebar-background-color);" | <span style="color:var(--wiki-sidebar-link-color)">--wiki-sidebar-link-color</span><br/> <span style="color:var(--wiki-sidebar-heading-color)">--wiki-sidebar-heading-color</span><br/> |- | --wiki-sidebar-border-color | style="background-color:var(--wiki-sidebar-border-color);" | | The border color of the sidebar. Usually this inherits <code>--wiki-content-border-color</code>. | N/A |- | --wiki-sidebar-link-color | style="background-color:var(--wiki-sidebar-link-color);" | | The color of links in the sidebar. Usually this inherits <code>--wiki-content-link-color</code>. | style="background-color:var(--wiki-sidebar-link-color);" | <span style="color:var(--wiki-sidebar-background-color)">--wiki-sidebar-background-color</span> |- | --wiki-sidebar-link-color--hover | style="background-color:var(--wiki-sidebar-link-color--hover);" | | The color links change to when hovered over. This is optional, and usually inherits <code>--wiki-content-link-color--hover</code>. | style="background-color:var(--wiki-sidebar-link-color--hover);" | <span style="color:var(--wiki-sidebar-background-color)">--wiki-sidebar-background-color</span> |- | --wiki-sidebar-heading-color | style="background-color:var(--wiki-sidebar-heading-color);" | | The color of headings in the sidebar. Usually this inherits <code>--wiki-content-heading-color</code>. | style="background-color:var(--wiki-sidebar-heading-color);" | <span style="color:var(--wiki-sidebar-background-color)">--wiki-sidebar-background-color</span> |- | --wiki-navigation-background-color | style="background-color:var(--wiki-navigation-background-color);" | | The primary background color of the navigation tabs above the content area. Usually this inherits <code>--wiki-content-background-color--secondary</code>. | style="background-color:var(--wiki-navigation-background-color);" | <span style="color:var(--wiki-navigation-text-color)">--wiki-navigation-text-color</span><br/> |- | --wiki-navigation-background-color--secondary | style="background-color:var(--wiki-navigation-background-color--secondary);" | | The upper background color of the navigation tabs, as well as the background color of the "More" menu dropdown. Usually this inherits <code>--wiki-content-background-color</code>. | style="background-color:var(--wiki-navigation-background-color--secondary);" | <span style="color:var(--wiki-navigation-text-color)">--wiki-navigation-text-color</span><br/> |- | --wiki-navigation-border-color | style="background-color:var(--wiki-navigation-border-color);" | | Border color of the navigation tabs. Usually this inherits <code>--wiki-content-border-color</code>. | N/A |- | --wiki-navigation-text-color | style="background-color:var(--wiki-navigation-text-color);" | | The color of text in the navigation tabs. Usually this inherits <code>--wiki-content-link-color</code>. | style="background-color:var(--wiki-navigation-text-color);" | <span style="color:var(--wiki-navigation-background-color)">--wiki-navigation-background-color</span><br/> <span style="color:var(--wiki-navigation-background-color--secondary)">--wiki-navigation-background-color--secondary</span><br/> |- | --wiki-navigation-text-color--hover | style="background-color:var(--wiki-navigation-text-color--hover);" | | The color of text in the navigation tabs when hovered. Usually this inherits <code>--wiki-content-link-color--hover</code>. | style="background-color:var(--wiki-navigation-text-color--hover);" | <span style="color:var(--wiki-navigation-background-color)">--wiki-navigation-background-color</span><br/> <span style="color:var(--wiki-navigation-background-color--secondary)">--wiki-navigation-background-color--secondary</span><br/> |- | --wiki-navigation-selected-background-color | style="background-color:var(--wiki-navigation-selected-background-color);" | | The background color of the currently active navigation tab. Usually this inherits <code>--wiki-content-background-color</code> | style="background-color:var(--wiki-navigation-selected-background-color);" | <span style="color:var(--wiki-navigation-selected-text-color)">--wiki-navigation-selected-text-color</span><br/> |- | --wiki-navigation-selected-border-color | style="background-color:var(--wiki-navigation-selected-border-color);" | | The border color of the currently active navigation tab. Usually this inherits <code>--wiki-navigation-border-color</code> | N/A |- | --wiki-navigation-selected-text-color | style="background-color:var(--wiki-navigation-selected-text-color);" | | The text color of the currently active navigation tab. Usually this inherits <code>--wiki-content-text-color</code> | style="background-color:var(--wiki-navigation-selected-text-color);" | <span style="color:var(--wiki-navigation-selected-background-color)">--wiki-navigation-selected-background-color</span><br/> |- | --wiki-neutral-color | style="background-color:var(--wiki-neutral-color);" | | A gray-ish color for displaying neutral text, such as a diff size of 0 in RecentChanges and page history. Usually this inherits <code>--wiki-content-text-mix-color</code>, but can be set explicitly if that color is not gray enough. | style="background-color:var(--wiki-neutral-color);" | <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary)">--wiki-content-background-color--secondary</span> |- | --wiki-alert-color | style="background-color:var(--wiki-alert-color);" | | A general, usually red-ish color used for negative notices, most notably negative diffs in RecentChanges and page history, and the "cancel" button when editing. | style="background-color:var(--wiki-alert-color);" | <span style="color:var(--wiki-alert-label-color)">--wiki-alert-label-color</span><br/> <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary)">--wiki-content-background-color--secondary</span><br/> |- | --wiki-alert-label-color | style="background-color:var(--wiki-alert-label-color);" | | The color of text against <code>--wiki-alert-color</code> as a background. | style="background-color:var(--wiki-alert-label-color);" | <span style="color:var(--wiki-alert-color)">--wiki-alert-color</span><br/> |- | --wiki-warning-color | style="background-color:var(--wiki-warning-color);" | | A general, usually orange-ish color used for warning notices. | style="background-color:var(--wiki-warning-color);" | <span style="color:var(--wiki-warning-label-color)">--wiki-warning-label-color</span><br/> <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> |- | --wiki-warning-label-color | style="background-color:var(--wiki-warning-label-color);" | | The color of text against <code>--wiki-warning-color</code> as a background. | style="background-color:var(--wiki-warning-label-color);" | <span style="color:var(--wiki-warning-color)">--wiki-warning-color</span><br/> |- | --wiki-success-color | style="background-color:var(--wiki-success-color);" | | A general, usually green-ish color used for success notices, most noticeably positive diffs in RecentChanges and page history. | style="background-color:var(--wiki-success-color);" | <span style="color:var(--wiki-success-label-color)">--wiki-success-label-color</span><br/> <span style="color:var(--wiki-content-background-color)">--wiki-content-background-color</span><br/> <span style="color:var(--wiki-content-background-color--secondary)">--wiki-content-background-color--secondary</span><br/> |- | --wiki-success-label-color | style="background-color:var(--wiki-success-label-color);" | | The color of text against <code>--wiki-success-color</code> as a background. | style="background-color:var(--wiki-success-label-color);" | <span style="color:var(--wiki-success-color)">--wiki-success-color</span><br/> |} ==Stylesheet== <!-- When rendered on common.css, the actual stylesheet will be right here --> </div> 58f90e2fed90701650577a6fd770f265da41e96f MediaWiki:DataMaps.css 8 239 263 2025-05-10T19:28:55Z ARTIFICER 564804 Importing default loadout css text/css /** Container */ .ext-datamaps-container-content .ext-datamaps-container-leaflet { background: var(--wiki-content-background-color--secondary); } /** Legend */ .ext-datamaps-container .ext-datamaps-control-expandable[aria-expanded="true"] { background: var(--wiki-content-background-color--secondary); /* fallback */ background: color-mix(in srgb, var(--wiki-content-background-color--secondary) 95%, transparent); } .ext-datamaps-container .oo-ui-tabOptionWidget { color: var(--wiki-content-link-color); } .ext-datamaps-container .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background: var(--wiki-content-link-color); box-shadow: none; color: var(--wiki-content-link-label-color); } /** Popups */ .ext-datamaps-container .leaflet-popup-content-wrapper, .ext-datamaps-container .leaflet-popup-tip { background: var(--wiki-content-background-color--secondary); color: var(--wiki-content-text-color); } .ext-datamaps-container .ext-datamaps-popup-buttons a, .ext-datamaps-container .leaflet-popup-close-button { filter: var(--wiki-icon-general-filter); cursor: pointer; } .ext-datamaps-popup-header .ext-datamaps-popup-subtitle, .ext-datamaps-popup-header .ext-datamaps-popup-location { color: var(--wiki-content-text-mix-color); } .ext-datamaps-popup .ext-datamaps-popup-tools li a { border: 1px solid var(--wiki-content-link-color); transition: background 100ms, color 100ms; } .ext-datamaps-popup .ext-datamaps-popup-tools li a:hover { background: var(--wiki-content-link-color); color: var(--wiki-content-link-label-color); } /** Controls */ .ext-datamaps-container .leaflet-bar { background-color: var(--wiki-content-background-color--secondary); border-color: var(--wiki-content-link-color); /* fallback */ border-color: color-mix(in srgb, var(--wiki-content-link-color) 50%, transparent); } .ext-datamaps-container .leaflet-bar button:hover { background-color: var(--wiki-content-background-color--secondary); /* fallback */ background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 25%, transparent); } .ext-datamaps-container .leaflet-control { color: var(--wiki-content-text-color); } .leaflet-control-container .oo-ui-buttonElement > .oo-ui-buttonElement-button { min-height: unset; } .ext-datamaps-container .leaflet-control button { border-bottom-color: var(--wiki-content-link-color); /* fallback */ border-bottom-color: color-mix(in srgb, var(--wiki-content-link-color) 50%, transparent); color: var(--wiki-content-text-color); } /* HACK: awful selector, v1.0 will prolly use a standard class on these */ .ext-datamaps-container .ext-datamaps-control span[class^="oo-ui-icon"] { filter: var(--wiki-icon-general-filter); } /** Search */ .ext-datamaps-container .ext-datamaps-control-search ul.ext-datamaps-control-search-results { background: var(--wiki-content-background-color--secondary); } .ext-datamaps-container .ext-datamaps-control-search ul.ext-datamaps-control-search-results li:focus, .ext-datamaps-container .ext-datamaps-control-search ul.ext-datamaps-control-search-results li[data-highlighted="true"] { background: var(--wiki-content-background-color--secondary); /* fallback */ background: color-mix(in srgb, var(--wiki-content-link-color) 15%, transparent); color: var(--wiki-content-link-color); } .ext-datamaps-container .ext-datamaps-container-status > :not(.oo-ui-widget) { background:var(--wiki-content-background-color--secondary); color:var(--wiki-content-text-mix-color); } .ext-datamaps-container .leaflet-control-container .ext-datamaps-control-coords { background: var(--background-color-neutral-subtle); color: var(--color-base--subtle); } 5e77b029532be5083c8a8d831a3f4a0bd634613b MediaWiki:Gadgets/mpEditLinks/main.js 8 240 264 2025-05-10T19:28:56Z ARTIFICER 564804 Importing default loadout javascript text/javascript $( function () { if(!document.getElementById('mp-container')) return; var rootpage = document.getElementById('mp-container').dataset['rootpage']; // Get the rootpage passed from the main page module, so we don't need to make an API call /* generate the links here instead of in the wikitext, so that users who can't see them don't have them * in the DOM at all, and screenreaders and search engines don't get confused */ function createLinks(){ $('.mp-box').each(function(_, el){ var params = '?action=edit'; // only add the long preload stuff if the box doesn't exist, for prettier urls if ( $(el).hasClass('missing') ){ params += '&preload=Template:Main page box/preload&preloadparams[0]=' + el.dataset['boxId'].charAt(0).toUpperCase() + el.dataset['boxId'].slice(1); /* preloadparam is box id with first letter capitalized */ } $('<a></a>', { href: mw.util.getUrl(rootpage + '/' + el.dataset['boxId']) + params, text: 'Edit ' + rootpage + '/' + el.dataset['boxId'] }).appendTo( $('<div></div>', { class: 'mp-edit-link' }).prependTo(el) ); }); } function toggleLinks(){ $('.mp-edit-link').each(function(_, el){ $(el).toggle().css('display none;'); }); } $('<span></span>', { text: 'Toggle edit buttons', class: 'mp-edit-toggle', on: {click: toggleLinks}, }).appendTo($('#top')); createLinks(); }); 80b135c05947f6acbb039d454cd147aa67999d3a MediaWiki:Gadgets/mpEditLinks/main.css 8 241 265 2025-05-10T19:28:56Z ARTIFICER 564804 Importing default loadout css text/css .mp-edit-link { display:block; position:absolute; z-index:99; right:0.5em; top:0.5em; background:var(--wiki-content-background-color); } .mp-edit-link a { display:block; padding:0.1em; border:1px solid var(--wiki-content-link-color); } .mp-edit-link a::before { display:inline-block; content:''; background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E edit %3C/title%3E%3Cpath d=%22m16.77 8 1.94-2a1 1 0 0 0 0-1.41l-3.34-3.3a1 1 0 0 0-1.41 0L12 3.23zM1 14.25V19h4.75l9.96-9.96-4.75-4.75z%22/%3E%3C/svg%3E"); background-size:contain; width:1em; height:1em; filter:var(--wiki-icon-to-link-filter); vertical-align:text-top; margin-right:0.2em; } c5fd62c547dd14df99d3f223cdca962743d492d1 MediaWiki:Gadgets/ranger/main.css 8 242 266 2025-05-10T19:28:56Z ARTIFICER 564804 Importing default loadout css text/css /** as of Module:navbox version 1.2.4 **/ .ranger-navbox{ border-color: var(--navbox-outer-border-color); border-style: var(--navbox-outer-border-style); border-width: var(--navbox-outer-border-width); border-radius: var(--navbox-outer-border-radius); padding: var(--navbox-padding); font-size: var(--navbox-font-size); margin: var(--navbox-margin); background: var(--navbox-background); line-height: 1.5; clear:both; } .ranger-navbox * { border: 0; } .ranger-navbox .center *{ margin-left: unset; margin-right: unset; } .ranger-navbox, .ranger-navbox .ranger-section, .ranger-navbox .ranger-listbox{ display: flex; flex-direction: column; gap: var(--navbox-gap); } .ranger-navbox .ranger-title, .ranger-navbox .ranger-header{ text-align: center; min-height: 1.5em; position: relative; z-index: 0; font-weight: bold; } .ranger-navbox .ranger-title{ color: var(--navbox-title-color); background: var(--navbox-title-background); font-size: var(--navbox-title-font-size); padding: var(--navbox-title-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-title a, .ranger-navbox .ranger-title a:visited, .ranger-navbox .ranger-title a:hover, .ranger-navbox .ranger-title a.external, .ranger-navbox .ranger-title a.external:visited, .ranger-navbox .ranger-title a.external:hover { text-decoration: var(--navbox-title-link-decoration); } .ranger-navbox .ranger-title a.new, .ranger-navbox .ranger-title a.new:visited { text-decoration: var(--navbox-title-redlink-decoration); } .ranger-navbox .ranger-title a, .ranger-navbox .ranger-title a.external, .ranger-navbox .ranger-title a.external:visited { color: var(--navbox-title-link-color); } .ranger-navbox .ranger-title a:visited{ color: var(--navbox-title-link-color--visited); } .ranger-navbox .ranger-title a.new, .ranger-navbox .ranger-title a.new:visited{ color:var(--navbox-title-redlink-color); } .ranger-navbox .ranger-title a:hover, .ranger-navbox .ranger-title a:visited:hover, .ranger-navbox .ranger-title a.external:hover, .ranger-navbox .ranger-title a.external:visited:hover { color:var(--navbox-title-link-color--hover); } .ranger-navbox .ranger-header{ color: var(--navbox-header-color); background: var(--navbox-header-background); font-size: var(--navbox-header-font-size); padding: var(--navbox-header-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-sublist .ranger-header{ font-size: var(--navbox-subheader-font-size); padding: var(--navbox-subheader-padding--y) calc(1.5em + var(--navbox-icon-offset--x)); /* left and right padding equal to the size and position of the edit/collapse buttons */ } .ranger-navbox .ranger-header a, .ranger-navbox .ranger-header a:visited, .ranger-navbox .ranger-header a:hover, .ranger-navbox .ranger-header a.external, .ranger-navbox .ranger-header a.external:visited, .ranger-navbox .ranger-header a.external:hover { text-decoration: var(--navbox-header-link-decoration); } .ranger-navbox .ranger-header a.new, .ranger-navbox .ranger-header a.new:visited { text-decoration: var(--navbox-header-redlink-decoration); } .ranger-navbox .ranger-header a, .ranger-navbox .ranger-header a.external, .ranger-navbox .ranger-header a.external:visited { color: var(--navbox-header-link-color); } .ranger-navbox .ranger-header a:visited{ color: var(--navbox-header-link-color--visited); } .ranger-navbox .ranger-header a.new, .ranger-navbox .ranger-header a.new:visited{ color:var(--navbox-header-redlink-color); } .ranger-navbox .ranger-header a:hover, .ranger-navbox .ranger-header a:visited:hover, .ranger-navbox .ranger-header a.external:hover, .ranger-navbox .ranger-header a.external:visited:hover { color:var(--navbox-header-link-color--hover); } .ranger-navbox .ranger-meta{ font-size: var(--navbox-title-font-size); position: absolute; left: var(--navbox-icon-offset--x); top: calc(var(--navbox-title-padding--y) + 0.08em); /* 0.08em: vertial offset tweak based on the icon graph */ display: block; } .ranger-navbox .ranger-meta .nv{ --mask: var(--icon-metalinks); display: block; width: 0.84em; /* based on the icon graph */ height: 0.84em; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--navbox-title-icon-color); } .ranger-navbox .ranger-meta .nv > a{ display: block; width: 100%; height: 100%; opacity: 0; } .ranger-navbox .ranger-meta .nv > a > span{ display: block; width: 100%; height: 100%; overflow: hidden; } .ranger-navbox .ranger-meta:has(.mw-selflink){ display: none; } .ranger-navbox, .ranger-navbox .ranger-section{ position: relative; } .ranger .mw-collapsible-toggle-placeholder{ display: none; } .ranger-navbox .ranger-title > .ranger-title-text, .ranger-navbox .ranger-header > .ranger-header-text{ pointer-events: none; } .ranger-navbox .ranger-title > .ranger-title-text a, .ranger-navbox .ranger-header > .ranger-header-text a{ pointer-events: auto; } .ranger-navbox .ranger-title > .mw-collapsible-toggle, .ranger-navbox .ranger-header > .mw-collapsible-toggle{ --mask: var(--icon-chevron-down); position: absolute; right: 0; top: 0; z-index: -1; display: block; width: 100%; height: 100%; overflow:hidden; } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle, .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle{ width: 1.5em; height: 1.5em; right: var(--navbox-icon-offset--x); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle{ top: var(--navbox-title-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle{ top: var(--navbox-header-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-sublist .ranger-header > .mw-collapsible-toggle{ top: var(--navbox-subheader-padding--y); } .ranger-navbox .ranger-title > .mw-collapsible-toggle::before, .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ content: ""; display: block; width: 1.5em; height: 1.5em; position: absolute; right: var(--navbox-icon-offset--x); -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--navbox-title-icon-color); transform: scaleY(-1); } .ranger-navbox .ranger-title > .mw-collapsible-toggle::before{ top: var(--navbox-title-padding--y); } .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ top: var(--navbox-header-padding--y); } .ranger-navbox .ranger-sublist .ranger-header > .mw-collapsible-toggle::before{ top: var(--navbox-subheader-padding--y); } .ranger-navbox.small-collapsible-toggle-click-area .ranger-title > .mw-collapsible-toggle::before, .ranger-navbox.small-collapsible-toggle-click-area .ranger-header > .mw-collapsible-toggle::before{ top: 0; right: 0; } .ranger-navbox .ranger-header > .mw-collapsible-toggle::before{ background-color: var(--navbox-header-icon-color); } .ranger-navbox .ranger-title > .mw-collapsible-toggle.mw-collapsible-toggle-collapsed::before, .ranger-navbox .ranger-header > .mw-collapsible-toggle.mw-collapsible-toggle-collapsed::before{ transform: none; } .ranger-navbox .ranger-title > .mw-collapsible-toggle *, .ranger-navbox .ranger-title > .mw-collapsible-toggle::after, .ranger-navbox .ranger-header > .mw-collapsible-toggle *, .ranger-navbox .ranger-header > .mw-collapsible-toggle::after{ display: none; } .ranger-navbox .ranger-list{ width: unset; padding: var(--navbox-list-padding); } .ranger-navbox .ranger-above{ background: var(--navbox-above-background); color: var(--navbox-above-color); padding: var(--navbox-above-padding); width: unset; } .ranger-navbox .ranger-below{ background: var(--navbox-below-background); color: var(--navbox-below-color); padding: var(--navbox-below-padding); width: unset; } .ranger-navbox .ranger-sublist{ display: flex; flex-direction: column; gap: var(--navbox-gap); } .ranger-navbox .ranger-section-body{ display: grid; gap: var(--navbox-gap); grid-template-columns: auto minmax(0,1fr); } .ranger-navbox .ranger-row{ display: contents; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup{ text-align: var(--navbox-group-text-align); font-weight: bold; background: var(--navbox-group-background); color: var(--navbox-group-color); padding: var(--navbox-group-padding); width: unset; } /* for desktop view */ .ranger-navbox.group-align-left .ranger-group, .ranger-navbox.group-align-left .ranger-subgroup{ --navbox-group-text-align: left; } .ranger-navbox.group-align-center .ranger-group, .ranger-navbox.group-align-center .ranger-subgroup{ --navbox-group-text-align: center; } .ranger-navbox.group-align-right .ranger-group, .ranger-navbox.group-align-right .ranger-subgroup{ --navbox-group-text-align: right; } /* for mobile view */ .ranger-navbox.mobile-group-align-left .ranger-group, .ranger-navbox.mobile-group-align-left .ranger-subgroup{ --navbox-group-text-align--mobile: left; } .ranger-navbox.mobile-group-align-center .ranger-group, .ranger-navbox.mobile-group-align-center .ranger-subgroup{ --navbox-group-text-align--mobile: center; } .ranger-navbox.mobile-group-align-right .ranger-group, .ranger-navbox.mobile-group-align-right .ranger-subgroup{ --navbox-group-text-align--mobile: right; } .ranger-navbox .ranger-listbox > .ranger-wrap{ background: var(--navbox-list-background); color: var(--navbox-list-color); flex-grow: 1; } .ranger-navbox .ranger-sublist{ flex-grow: var(--count); } .ranger-navbox .ranger-listbox:first-child{ /* A list-n without group-n */ grid-column-end: span 2; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup, .ranger-navbox .ranger-listbox > .ranger-wrap{ display: grid; justify-items: stretch; align-items: center; } .ranger-navbox.striped-even .ranger-even, .ranger-navbox.striped-odd .ranger-odd{ background: var(--navbox-list-background--striped); } /* make links use full line height (larger click box)*/ .ranger-navbox .hlist a{ display: inline-block; } .ranger-navbox .align-left, .ranger-navbox .alignleft{ text-align: left; } .ranger-navbox .align-center, .ranger-navbox .aligncenter{ text-align: center; } .ranger-navbox .align-right, .ranger-navbox .alignright{ text-align: right; } /* responsive */ @media screen and (max-width: 720px) { .ranger-navbox .ranger-section-body, .ranger-navbox .ranger-sublist { display: flex; flex-flow: column; } .ranger-navbox .ranger-row{ display: block; } .ranger-navbox .ranger-group + .ranger-listbox > .ranger-sublist:first-child, .ranger-navbox .ranger-subgroup + .ranger-listbox > .ranger-sublist:first-child{ margin-top: var(--navbox-gap); } .ranger-navbox .ranger-listbox.empty{ display: none; } .ranger-navbox .ranger-group, .ranger-navbox .ranger-subgroup{ text-align: var(--navbox-group-text-align--mobile); max-width: unset !important; } .ranger-navbox .ranger-group > *, .ranger-navbox .ranger-subgroup > *{ max-width: unset !important; } .ranger-navbox .ranger-sublist { padding-left: var(--navbox-tree-indent); margin-left: var(--navbox-tree-line-indent); } .ranger-navbox .ranger-subgroup, .ranger-navbox .ranger-listbox { position:relative; } .ranger-navbox .ranger-group br, .ranger-navbox .ranger-subgroup br{ display: none; } .ranger-navbox .ranger-sublist > .ranger-section > .ranger-header{ margin-left: calc( 0px - var(--navbox-tree-indent) - var(--navbox-tree-line-indent)); } .ranger-navbox .ranger-sublist .ranger-row > ::before{ position: absolute; left: calc(0px - var(--navbox-tree-indent)); top: 0; width: var(--navbox-tree-line-width); height: 100%; content: ''; display: block; background-color: var(--navbox-tree-line-color); } .ranger-navbox .ranger-sublist .ranger-row > .ranger-listbox::before, .ranger-navbox .ranger-row.empty-list > .ranger-subgroup::before{ height: calc(100% + var(--navbox-gap)); } .ranger-navbox .ranger-sublist .ranger-row:last-child > ::before { display: none; } .ranger-navbox .ranger-sublist .ranger-row:last-child > :first-child::before { display: block; height: calc(50% + var(--navbox-tree-line-width)/2); } .ranger-navbox .ranger-subgroup::after, .ranger-navbox .empty-group > .ranger-listbox > .ranger-wrap::after{ position: absolute; left: calc(0px - var(--navbox-tree-indent) + var(--navbox-tree-line-width)); width: calc(var(--navbox-tree-indent) - var(--navbox-tree-line-spacing) - var(--navbox-tree-line-width)); height: var(--navbox-tree-line-width); content: ''; background-color: var(--navbox-tree-line-color); } /* increase height for links */ .ranger-navbox .hlist{ line-height: 2; } } /**** `.pill` class: the "pill" style ****/ /* remove middle dots betweem items */ .ranger-navbox.pill .hlist dd:not(:last-child)::after, .ranger-navbox.pill .hlist li:not(:last-child)::after{ display: none; } /* remove parentheses around nested lists*/ .ranger-navbox.pill .hlist dd ol::before, .ranger-navbox.pill .hlist dd ul::before, .ranger-navbox.pill .hlist dd dl::before, .ranger-navbox.pill .hlist dt ol::before, .ranger-navbox.pill .hlist dt ul::before, .ranger-navbox.pill .hlist dt dl::before, .ranger-navbox.pill .hlist li ol::before, .ranger-navbox.pill .hlist li ul::before, .ranger-navbox.pill .hlist li dl::before, .ranger-navbox.pill .hlist dd ol::after, .ranger-navbox.pill .hlist dd ul::after, .ranger-navbox.pill .hlist dd dl::after, .ranger-navbox.pill .hlist dt ol::after, .ranger-navbox.pill .hlist dt ul::after, .ranger-navbox.pill .hlist dt dl::after, .ranger-navbox.pill .hlist li ol::after, .ranger-navbox.pill .hlist li ul::after, .ranger-navbox.pill .hlist li dl::after { display: none; } /* make lists inline-flex */ .ranger-navbox.pill .hlist ul, .ranger-navbox.pill .hlist ol, .ranger-navbox.pill .hlist dl{ display: inline-flex; gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill .hlist li, .ranger-navbox.pill .hlist dt, .ranger-navbox.pill .hlist dd{ padding: var(--navbox-pill-padding); border-radius: var(--navbox-pill-border-radius); box-shadow: var(--navbox-pill-box-shadow); background: var(--navbox-pill-background); /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* Add a hover / focus feedback style */ .ranger-navbox.pill .hlist dd:hover, .ranger-navbox.pill .hlist dd:focus, .ranger-navbox.pill .hlist dt:hover, .ranger-navbox.pill .hlist dt:focus, .ranger-navbox.pill .hlist li:hover, .ranger-navbox.pill .hlist li:focus { box-shadow: var(--navbox-pill-box-shadow--hover); background: var(--navbox-pill-background--hover); } /* pill with selflink * * Only select the deepest level for nested lists. * We have to use :has() to pick pills with selflink and * all browsers which support :has() should also support :is() and :not(), * therefore we can use :is() and :not() here safely. */ .ranger-navbox.pill .hlist .ranger-list :is(li,dt,dd):has(.mw-selflink):not(:has(li, dt, dd)){ background: var(--navbox-pill-selflink-background); } /**** `.pill-mobile` class: only apply the "pill" style on mobile ****/ @media screen and (max-width: 720px) { /* remove middle dots betweem items */ .ranger-navbox.pill-mobile .hlist dd:not(:last-child)::after, .ranger-navbox.pill-mobile .hlist li:not(:last-child)::after{ display: none; } /* remove parentheses around nested lists*/ .ranger-navbox.pill-mobile .hlist dd ol::before, .ranger-navbox.pill-mobile .hlist dd ul::before, .ranger-navbox.pill-mobile .hlist dd dl::before, .ranger-navbox.pill-mobile .hlist dt ol::before, .ranger-navbox.pill-mobile .hlist dt ul::before, .ranger-navbox.pill-mobile .hlist dt dl::before, .ranger-navbox.pill-mobile .hlist li ol::before, .ranger-navbox.pill-mobile .hlist li ul::before, .ranger-navbox.pill-mobile .hlist li dl::before, .ranger-navbox.pill-mobile .hlist dd ol::after, .ranger-navbox.pill-mobile .hlist dd ul::after, .ranger-navbox.pill-mobile .hlist dd dl::after, .ranger-navbox.pill-mobile .hlist dt ol::after, .ranger-navbox.pill-mobile .hlist dt ul::after, .ranger-navbox.pill-mobile .hlist dt dl::after, .ranger-navbox.pill-mobile .hlist li ol::after, .ranger-navbox.pill-mobile .hlist li ul::after, .ranger-navbox.pill-mobile .hlist li dl::after { display: none; } /* make lists inline-flex */ .ranger-navbox.pill-mobile .hlist ul, .ranger-navbox.pill-mobile .hlist ol, .ranger-navbox.pill-mobile .hlist dl{ display: inline-flex; gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill-mobile .hlist li, .ranger-navbox.pill-mobile .hlist dt, .ranger-navbox.pill-mobile .hlist dd{ /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* "pill" style for items */ .ranger-navbox.pill-mobile .hlist li, .ranger-navbox.pill-mobile .hlist dt, .ranger-navbox.pill-mobile .hlist dd{ padding: var(--navbox-pill-padding); border-radius: var(--navbox-pill-border-radius); box-shadow: var(--navbox-pill-box-shadow); background: var(--navbox-pill-background); /* 100% height */ display: flex; align-items: center; /* for nested lists */ gap: var(--navbox-pill-gap); flex-wrap: wrap; } /* Add a hover / focus feedback style */ .ranger-navbox.pill-mobile .hlist dd:hover, .ranger-navbox.pill-mobile .hlist dd:focus, .ranger-navbox.pill-mobile .hlist dt:hover, .ranger-navbox.pill-mobile .hlist dt:focus, .ranger-navbox.pill-mobile .hlist li:hover, .ranger-navbox.pill-mobile .hlist li:focus { box-shadow: var(--navbox-pill-box-shadow--hover); background: var(--navbox-pill-background--hover); } /* pill with selflink * * Only select the deepest level for nested lists. * We have to use :has() to pick pills with selflink and * all browsers which support :has() should also support :is() and :not(), * therefore we can use :is() and :not() here safely. */ .ranger-navbox.pill-mobile .hlist .ranger-list :is(li,dt,dd):has(.mw-selflink):not(:has(li, dt, dd)){ background: var(--navbox-pill-selflink-background); } } /********************* * End Template:Navbox* **********************/ dcbe9983e2df067d3ecf72ebf7462b12492a0f2d MediaWiki:Gadgets/ranger 8 243 267 2025-05-10T19:28:57Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": false, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with navboxes" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "variables.css", "main.css", "custom.css" ], "dependencies": [], "type": "styles" } } 0e59fa9520b52214b9fedaecae9f41d86afd197f MediaWiki:Gadgets/druid 8 244 268 2025-05-10T19:28:57Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "package": false, "section": "", "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with DRUID infoboxes" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "variablesEditMe.css", "mainReadonly.css", "customEditMe.css" ], "dependencies": [], "type": "styles" } } 5c21b27bf41aba17b090e0d888010c308bd5d0bb MediaWiki:Gadgets/druid/mainReadonly.css 8 245 269 2025-05-10T19:28:57Z ARTIFICER 564804 Importing default loadout css text/css /* --------------------------------------------- */ /* Do not edit this file please */ /* You can edit variablesEditMe and customEditMe */ /* --------------------------------------------- */ .druid-container { border: 4px solid var(--druid-border-color); border-radius: 3px; background: var(--druid-background-color); float: right; clear: right; margin: 0 0 1em 1em; width:100%; max-width:22em; box-sizing: border-box; border-collapse: collapse; } @media screen and (max-width: 720px) { .druid-container { float: none; margin: 0.5rem auto; } } .druid-main-images-file, .druid-main-image { text-align:center; } .druid-infobox .druid-title, .druid-infobox .druid-section { background:var(--druid-secondary-background-color); /* fallback */ background:color-mix(in srgb, var(--druid-secondary-background-color) 75%, transparent); color:var(--druid-secondary-background-label-color); text-align:center; font-size:1.5em; padding:1px; } .druid-infobox .druid-section { font-size: 1.25em; font-weight: 500; } .druid-infobox .druid-collapsible .druid-section { flex-grow: 1; } .druid-label { font-weight:bold; text-align: right; box-sizing: border-box; } .druid-row > .druid-label { width: 48%; flex-shrink: 0; } .druid-row > .druid-label, .druid-row > .druid-data { padding-inline: 0.3em; } .druid-main-image, .druid-main-images { padding:5px; } .druid-main-image img, .druid-main-images img { max-width:100%; height:auto; } .druid-main-images-labels { display:flex; flex-direction:row; flex-wrap:wrap; justify-content: space-evenly; margin:0.25em; gap:0.25em; } .druid-main-images-label { cursor:pointer; flex:1 1 auto; text-align:center; transition:.1s ease-in; outline:1px solid var(--druid-link-color); } .druid-main-images-label.focused { background:var(--druid-link-color); color:var(--druid-link-label-color); } .druid-main-images-label:not(.focused):hover { background:var(--druid-link-color); /* fallback */ background:color-mix(in srgb, var(--druid-link-color) 25%, transparent); } .druid-toggleable-data:not(.focused), .druid-main-images-file:not(.focused), .druid-toggleable-heading:not(.focused), .druid-row:not(:has(.druid-grid)):has(.druid-toggleable-data-empty.focused), .druid-grid-item:has(.druid-toggleable-data-empty.focused), .druid-section:has(.druid-toggleable-heading-empty.focused), .druid-section-container:has(.druid-toggleable-data-empty.focused):not(:has(.druid-toggleable-data-nonempty.focused)):not(:has(.druid-data-nonempty)) { display:none; } .druid-grid { display:grid; gap: 0.3em; padding: 0.35em; } .druid-grid-item { background:var(--druid-tertiary-background-color); padding:0.25em; border:1px solid var(--druid-border-color); /* fallback */ border:1px solid color-mix(in srgb, var(--druid-border-color) 50%, transparent); border-radius: 2px; } .druid-grid-item .druid-label, .druid-grid-item .druid-data { text-align: center; } .druid-data-wide { width:100%; } .druid-section-container > .druid-collapsible { display: flex; justify-content: space-between; align-items: center; } .druid-collapsed { display:none !important; } .druid-collapsible { cursor:pointer; position:relative; } .druid-collapsible::after { content: ""; display: block; position: absolute; right: 10px; width: 20px; height: 20px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E collapse %3C/title%3E%3Cpath d='M1 13.75l1.5 1.5 7.5-7.5 7.5 7.5 1.5-1.5-9-9-9 9z'/%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--druid-secondary-background-label-color); } .druid-collapsible-collapsed::after { transform: rotate(180deg); } /***************************************** Div support *****************************************/ div.druid-row { display:flex; margin-block: 1px; } div.druid-row + div.druid-row { margin-top: 0; } div.druid-row > .druid-label { background: var(--druid-tertiary-background-color); } .druid-infobox .druid-title { font-weight: 700; } .druid-infobox #toc { display:none; } /******** Custom display classes *********/ div.druid-stacked.druid-row, .druid-stacked div.druid-row { flex-direction: column; } .druid-stacked.druid-row > .druid-label, .druid-stacked .druid-row > .druid-label { text-align: left; width: 100%; flex-basis:unset; } .druid-stacked.druid-row > .druid-data, .druid-stacked .druid-row > .druid-data { padding-left: .75em; } /* --------------------------------------------- */ /* Do not edit this file please */ /* You can edit variablesEditMe and customEditMe */ /* --------------------------------------------- */ b012f61bd994e50b85508138467794f6a296ed2d MediaWiki:Gadgets/druid/variablesEditMe.css 8 246 270 2025-05-10T19:28:58Z ARTIFICER 564804 Importing default loadout css text/css /* These variables are designed to inherit from your wiki's color variables. If your wiki uses a different naming scheme, change the inner names to match yours. If your wiki doesn't use color variables you should consider doing so, otherwise you can replace the inner variables or the fallback values with colors that match your wiki. */ /* Light and dark are separated to make it easier for you to do local customizations but in the default version they are identical */ :root, .view-light .druid-container { --druid-background-color: var(--wiki-content-background-color, #ffffff); --druid-secondary-background-color: var(--wiki-accent-color, #36c); --druid-secondary-background-label-color: var(--wiki-accent-label-color, #fff); --druid-tertiary-background-color: var(--wiki-content-background-color--secondary, #eaecf0); --druid-border-color: var(--wiki-content-border-color, #a7d7f9); --druid-link-color: var(--wiki-content-link-color, #0645ad); --druid-link-label-color: var(--wiki-content-link-label-color, #fff); } .view-dark .druid-container { --druid-background-color: var(--wiki-content-background-color, #ffffff); --druid-secondary-background-color: var(--wiki-accent-color, #36c); --druid-secondary-background-label-color: var(--wiki-accent-label-color, #fff); --druid-tertiary-background-color: var(--wiki-content-background-color--secondary, #eaecf0); --druid-border-color: var(--wiki-content-border-color, #a7d7f9); --druid-link-color: var(--wiki-content-link-color, #0645ad); --druid-link-label-color: var(--wiki-content-link-label-color, #fff); } 8cf88860d6782aac5b9b65a990d7eddfd5c5c3f2 MediaWiki:Gadgets/druid/customEditMe.css 8 247 271 2025-05-10T19:28:58Z ARTIFICER 564804 Importing default loadout css text/css /* Custom DRUID styles should go here */ 7ecb3c635f03ba714e419c200113f47043f0e358 MediaWiki:Gadgets/druid/doc 8 248 272 2025-05-10T19:28:59Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki <includeonly>This gadget provides styles for {{ml|Infobox}}. You can customize: * [[MediaWiki:Gadgets/druid/variablesEditMe.css]] - to customize the built-in variables (e.g. if you want to make the color of your infobox not match the wiki accent color). This file will load '''first''' out of all of the DRUID CSS files. * [[MediaWiki:Gadgets/druid/customEditMe.css]] - to otherwise customize DRUID (e.g. if you want to change the padding, or add a border image, something that's not supported through variables. This file will load '''last''' out of all of the DRUID CSS files, so all rules here will overwrite rules in [[MediaWiki:Gadgets/druid/mainReadonly.css]] with equal specificity. Please do NOT modify [[MediaWiki:Gadgets/druid/mainReadonly.css]]!! That page may be updated by wiki.gg staff via script, and the updates will not function if you modify it. More documentation can be found at [[support:DRUID infoboxes|DRUID infoboxes]]<!-- --></includeonly><noinclude>This is the documentation page for [[{{#titleparts:{{FULLPAGENAME}}|-1}}]].</noinclude> 2813eb77787e37161b0ed7e4e85c9f5f2d7ad92e MediaWiki:Newarticletext 8 249 273 2025-05-10T19:28:59Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki You have followed a link to a page that does not exist yet. To create the page, start typing in the box below (see the [$1 help page] for more info). If you are here by mistake, click your browser's <strong>back</strong> button. 778f9ef242eb3058ef30ed3325b901adb762a2af MediaWiki:Gadgets 8 250 274 2025-05-10T19:29:00Z ARTIFICER 564804 Importing default loadout wikitext text/x-wiki See also: [[Special:Gadgets]] for a list of all installed gadgets, formatted in a friendly way. {{Special:PrefixIndex/MediaWiki:Gadgets}} 14815d26ea4ae878b5e77e1781eeb35cd742ad2c MediaWiki:Gadgets/druidScripts 8 251 275 2025-05-10T19:29:01Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with DRUID infoboxes" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "main.js" ], "dependencies": [ "jquery" ], "type": "general" } } 5df47905f5c565c4a5c0da774413a6dee76eb7d1 MediaWiki:Gadgets/druidScripts/main.js 8 252 276 2025-05-10T19:29:01Z ARTIFICER 564804 Importing default loadout javascript text/javascript mw.hook( 'wikipage.content' ).add( () => { $( '.druid-title-tab' ).off( 'click' ) .on( 'click', function () { const $parent = $( this ).closest( '.druid-container' ); $parent.find( '.druid-toggleable' ).removeClass( 'focused' ); const i = $( this ).attr( 'data-druid' ); $parent.find( `.druid-toggleable[data-druid="${i}"]` ).addClass( 'focused' ); } ); $( '.druid-section-tab' ).off( 'click' ) .on( 'click', function () { const $parent = $( this ).closest( '.druid-section-container' ); $parent.find( '.druid-toggleable' ).removeClass( 'focused' ); const i = $( this ).attr( 'data-druid' ); $parent.find( `.druid-toggleable[data-druid="${i}"]` ).addClass( 'focused' ); } ); $( '.druid-collapsible' ).off( 'click' ) .on( 'click', function () { const kind = $( this ).attr( 'data-druid-section' ); $( this ) .toggleClass( 'druid-collapsible-collapsed' ) .closest( '.druid-container' ) .find( `[data-druid-section-row="${kind}"]` ) .toggleClass( 'druid-collapsed' ); } ); } ); /* End DRUID */ af8f73fc414f3fc0dae8d97a044675e9912fa457 MediaWiki:Gadgets/discordTemplate 8 253 277 2025-05-10T19:29:01Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with Discord embeds" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "main.js" ], "dependencies": [ "jquery" ], "type": "general" } } 1232b7fbe2ff589295233393f6f387cf52793a2a MediaWiki:Gadgets/discordTemplate/main.js 8 254 278 2025-05-10T19:29:02Z ARTIFICER 564804 Importing default loadout javascript text/javascript /** * DiscordCompact.js * ---------------------- * A very simple script to display a Discord widget. * Version 0.0.2 * https://support.wiki.gg/wiki/DiscordCompact * ---------------------- */ $(function() { var widget = $("#content #discord-compact-widget"); // Bail out if we didn't find a widget. if (!widget.length) return; var id = widget.attr("data-id"); // Ensure that the id is not blank. if (id === "") throw new Error("DiscordCompact has a blank server id!"); // Ensure that the id consists only of numbers and is at least 17 characters long. if (!new RegExp("^[0-9]{17}[0-9]+$").test(id)) throw new Error("DiscordCompact has an invalid server id!"); var apiBase = "https://discord.com/api/guilds/" + id; // Get some information about the server, such as online member count and invite url. // This also tells us if the server exists or has widgets disabled, so we look out for that too. $.ajax(apiBase + "/widget.json").fail(function(req){ if (!req.responseJSON) throw new Error("DiscordCompact encountered an unknown error whilst fetching widget.json (status: " + req.status); switch (req.responseJSON.code) { case 10004: throw new Error("DiscordCompact has a valid server id, but no such server exists!"); case 50004: throw new Error("DiscordCompact has a valid server id, but that server has widgets disabled!"); default: throw new Error("DiscordCompact encountered an unknown error whilst fetching widget.json (status: " + req.status + "; code: " + req.responseJSON.code + ")"); } }).done(function(res){ const inviteURL = res.instant_invite; // Warn if we can't get an invite URL. if (inviteURL == null) console.warn("DiscordCompact cannot get an invite URL; does this server have an invite channel set in Widget settings?"); // Now get the widget image. $.ajax({url: apiBase + "/widget.png?style=banner2", xhrFields: {responseType: "blob"}}).fail(function(req){ if (!req.responseJSON) throw new Error("DiscordCompact encountered an unknown error whilst fetching widget.png! (status: " + req.status); throw new Error("DiscordCompact encountered an unknown error whilst fetching widget.png! (status: " + req.status + "; code: " + req.responseJSON.code + ")"); }).done(function(blob){ // Convert the image data into base64. This prevents us having to make the client request it a second time. const imageReader = new FileReader(); imageReader.readAsDataURL(blob); imageReader.onloadend = function() { const b64Data = imageReader.result; // Replace the widget with an <a> tag widget.replaceWith(function() { return $("<a>", { id: widget.attr("id"), class: widget.attr("class"), style: widget.attr("style"), alt: "Discord server widget", href: inviteURL }); }); // We need to grab the widget again to update it. widget = $("#discord-compact-widget"); // Setup the CSS so that the image is displayed. widget.css("display", "block"); widget.css("max-height", "76px"); widget.css("max-width", "320px"); // Create the image. const widgetImage = document.createElement("img"); widgetImage.src = b64Data; widgetImage.style.width = "100%"; widgetImage.style.height = "100%"; widgetImage.style.borderRadius = "5px"; widget.append(widgetImage); // Prevent image dragging. widget.on("dragstart", function(e) { e.preventDefault(); }); // We're done here. console.log("DiscordCompact loaded successfully!"); } }); }); }); /** * based on https://dev.fandom.com/wiki/MediaWiki:DiscordIntegrator/code.js * * used by other wikis. */ $(function() { 'use strict'; var mconfig = mw.config.get([ 'wgContentLanguage', 'wgUserLanguage', 'wgUserName' ]); if (window.DiscordIntegratorLoaded) { return; } window.DiscordIntegratorLoaded = true; /** * Main object * @static */ var DiscordIntegrator = { /** * Initializing */ init: function() { mw.hook('wikipage.content').add($.proxy(this.insertToContent, this)); }, /** * Finding the designated places in content * in which to place the widget and placing it */ insertToContent: function($content) { $content.find('.DiscordIntegrator:not(.loaded)').each($.proxy(function(cabbage, el) { el = $(el); el.html(this.generateContent(el.data())).addClass('loaded'); }, this)); }, /** * Determines the theme of the widget. * @param {string} config Configured theme * @return {string} 'light' or 'dark' depending on the wiki theme and configuration */ determineTheme: function(config) { // If explicitly configured to light or dark. if (config === 'dark') { return 'dark'; } if (config === 'light') { return 'light'; } /** If not configured **/ // try to determine based on wiki theme (set by themeToggle): var clas = $(':root').attr('class'); var regex = /(^|\s)theme-(\w+)(\s|$)/; var match = clas.match(regex); if(match){ var wikiThemeName = match[2]; if(typeof(config) === 'object' && config !== null){ //with json theme config if(config[wikiThemeName]){ return config[wikiThemeName]; } } if(wikiThemeName === 'light'){ return 'light'; } if(wikiThemeName === 'dark'){ return 'dark'; } } // Otherwise, default to dark. return 'dark'; }, /** * Generating widget content from an object * @return {string} Content of the widget */ generateContent: function(config) { if (!config.id || !String(config.id).match(/\d{17,19}/)) { return "Error: ID of the widget is malformed or not supplied, please see <a href='https://support.wiki.gg/wiki/DiscordWidget' title='the instructions'>the instructions</a> for how to find your server's ID. Please make sure you are not inserting <strong>the DiscordIntegrator template</strong> when asked for <strong>your widget ID</strong>."; } if ( ( config.loggedIn === true || Boolean(config['logged-in']) === true && config['logged-in'] !== 'false' && config['logged-in'] !== '{{{loggedIn}}}' ) && !mconfig.wgUserName ) { return "Please <a href='/Special:UserLogin' title='log in'>log in</a> to see this widget."; } var username = config.username === '@disabled' ? '' : config.username === '@function' && typeof window.DiscordIntegratorGetUsername === 'function' ? window.DiscordIntegratorGetUsername() : config.username || mconfig.wgUserName; return mw.html.element('iframe', { src: 'https://discord.com/widget?id=' + config.id + '&theme=' + this.determineTheme(config.theme) + '&username=' + encodeURIComponent(username), width: config.width || '100%', height: config.height || '400px', allowtransparency: 'true', frameborder: '0', title: "Discord server widget" }); } }; DiscordIntegrator.init(); }); 1e1fd5704120cf67e15a757bd964c7295bdb464e MediaWiki:Gadgets/luaImportLinks 8 255 279 2025-05-10T19:29:03Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [ 828 ], "contentModels": [], "rights": [] }, "module": { "pages": [ "main.js" ], "dependencies": [ "jquery" ], "type": "general" } } e5843d78effc2d04aa1fde18970885a1845ae525 MediaWiki:Gadgets/luaImportLinks/main.js 8 256 280 2025-05-10T19:29:03Z ARTIFICER 564804 Importing default loadout javascript text/javascript /* Link to imported modules from Lua code */ $(function() { var config = mw.config.get([ 'wgCanonicalNamespace', 'wgFormattedNamespaces' ]); if (config.wgCanonicalNamespace !== 'Module') { return; } var localizedNamespace = config.wgFormattedNamespaces[828]; $('.s1, .s2, .s').each(function() { var $this = $(this); var html = $this.html(); var quote = html[0]; var isLongStringQuote = quote === '['; var quoteRE = new RegExp('^\\' + quote + '|\\' + quote + '$', 'g'); if (isLongStringQuote) { quoteRE = /^\[\[|\]\]$/g; } var name = html.replace(quoteRE, ''); var isEnglishPrefix = name.startsWith('Module:'); var isLocalizedPrefix = name.startsWith(localizedNamespace + ':'); var isDevPrefix = name.startsWith('Dev:'); if (isEnglishPrefix || isLocalizedPrefix || isDevPrefix) { var attrs = { href: mw.util.getUrl(name) }; if (isDevPrefix) { attrs.href = 'https://commons.wiki.gg/wiki/Module:' + mw.util.wikiUrlencode(name.replace('Dev:', '')); attrs.target = '_blank'; attrs.rel = 'noopener'; } var link = mw.html.element('a', attrs, name); var str = quote + link + quote; if (isLongStringQuote) { str = '[[' + link + ']]'; } $this.html(str); } }); }); dc09796545586723653a906ae1fed87411f49536 MediaWiki:Gadgets/spoilers/main.js 8 257 281 2025-05-10T19:29:04Z ARTIFICER 564804 Importing default loadout javascript text/javascript /* [[Template:Spoiler]] */ mw.hook('wikipage.content').add(function() { $('.spoiler-content') .off('click') // in case this code is loaded twice .on('click', function(e){ $(this).toggleClass('show'); }).find('a').on('click', function(e){ e.stopPropagation(); }); }); /* End Template:Spoiler */ c96e5a798a1781287a56037db79ab9094a3eae2b MediaWiki:Gadgets/spoilers 8 258 282 2025-05-10T19:29:04Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [ "Pages with spoilers" ], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "main.js" ], "dependencies": [ "jquery" ], "type": "general" } } e2aacbae968c704385f3937e6b0004f263907193 MediaWiki:Gadgets/charInserts 8 259 283 2025-05-10T19:29:05Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [ "edit" ], "categories": [], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "main.js" ], "dependencies": [ "jquery" ], "type": "general" } } 518bbdc62f3fe767736f2de6ee9ba2b7eb9ab0a8 MediaWiki:Gadgets/charInserts/main.js 8 260 284 2025-05-10T19:29:06Z ARTIFICER 564804 Importing default loadout javascript text/javascript $(function() { $('.mw-charinsert-item').each(function() { $(this).text($(this).closest('div').attr('data-ci-label')); $(this).css('display', 'inline-block'); }); $('.ci-loading-text').css('display','none'); }); daabc4b17b7729432f5c146630a0715a7abc13e9 MediaWiki:Gadgets/themeColorEditor 8 261 285 2025-05-10T19:29:06Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [ 8 ], "contentModels": [ "css" ], "rights": [ "editinterface" ] }, "module": { "pages": [ "main.js" ], "dependencies": [], "type": "general" } } 294a47ed0bd03228625e8241b69d9f11fadd0390 MediaWiki:Gadgets/themeColorEditor/main.js 8 262 286 2025-05-10T19:29:07Z ARTIFICER 564804 Importing default loadout javascript text/javascript $(function() { if (mw.config.get('wgPageName') != "MediaWiki:Common.css") return; mw.loader.load( 'https://commons.wiki.gg/load.php?lang=en&modules=ext.gadget.themeColorEditorScript&skin=vector&maxage=360&smaxage=360' ) }); a6d1c6789815c3c323c2afd84def2c1ca23d5efe MediaWiki:Gadgets/ranger/variables.css 8 263 287 2025-05-10T19:29:07Z ARTIFICER 564804 Importing default loadout css text/css .ranger-navbox{ --navbox-background: var(--wiki-content-background-color); /* for entire navbox */ --navbox-margin: 0.5em auto; --navbox-padding: 4px; --navbox-gap: 3px; /* when using zero-value, it must be 0px */ --navbox-outer-border-color: var(--wiki-content-border-color--accent); --navbox-outer-border-width: 1px; --navbox-outer-border-style: solid; --navbox-outer-border-radius: 0px; --navbox-font-size: calc(1em - 2px); --navbox-title-color: var(--wiki-accent-label-color); --navbox-title-font-size: calc(125%); --navbox-title-background: var(--wiki-accent-color); --navbox-title-icon-color: var(--wiki-accent-label-color); --navbox-title-link-color: var(--navbox-title-color); --navbox-title-link-color--visited: var(--navbox-title-link-color); --navbox-title-link-color--hover: var(--wiki-accent-link-color); --navbox-title-redlink-color: var(--navbox-title-link-color); --navbox-title-link-decoration: underline solid; --navbox-title-redlink-decoration: underline wavy; --navbox-title-padding--y: 0.5em; --navbox-above-background: color-mix(in srgb, var(--wiki-content-text-color) 15%, transparent); --navbox-above-color: var(--wiki-content-text-color); --navbox-above-padding: var(--navbox-list-padding); --navbox-below-background: var(--navbox-above-background); --navbox-below-color: var(--navbox-above-color); --navbox-below-padding: var(--navbox-above-padding); --navbox-header-color: var(--navbox-title-color); --navbox-header-font-size: calc(110%); --navbox-header-background: var(--navbox-title-background); --navbox-header-icon-color: var(--navbox-title-icon-color); --navbox-header-link-color: var(--navbox-title-link-color); --navbox-header-link-color--visited: var(--navbox-title-link-color--visited); --navbox-header-link-color--hover: var(--navbox-title-link-color--hover); --navbox-header-redlink-color: var(--navbox-title-redlink-color); --navbox-header-link-decoration: var(--navbox-title-link-decoration); --navbox-header-redlink-decoration: var(--navbox-title-redlink-decoration); --navbox-header-padding--y: 0.3em; --navbox-subheader-font-size: calc(100%); --navbox-subheader-padding--y: calc(var(--navbox-header-padding--y)/2); --navbox-list-background: color-mix(in srgb, var(--wiki-content-text-color) 5%, transparent); --navbox-list-background--striped: color-mix(in srgb, var(--wiki-content-text-color) 8%, transparent); --navbox-list-color: var(--wiki-content-text-color); --navbox-list-padding: 0.25em 0.5em; /* --navbox-group-* also apply to .ranger-subgroup */ --navbox-group-text-align: left; --navbox-group-text-align--mobile: left; /* only for mobile view */ --navbox-group-background: color-mix(in srgb, var(--wiki-accent-color) 20%, transparent); --navbox-group-color: var(--wiki-content-text-color); --navbox-group-padding: var(--navbox-list-padding); --navbox-tree-line-color: color-mix(in srgb, var(--wiki-accent-color) 30%, transparent); --navbox-tree-line-width: 2px; --navbox-tree-indent: 1em; --navbox-tree-line-indent: 0.5em; --navbox-tree-line-spacing: var(--navbox-gap); --icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-chevron-down' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M6 9l6 6l6 -6'%3E%3C/path%3E%3C/svg%3E"); --icon-metalinks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-edit' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M7 7h-1a2 2 0 0 0 -2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2 -2v-1'%3E%3C/path%3E%3Cpath d='M20.385 6.585a2.1 2.1 0 0 0 -2.97 -2.97l-8.415 8.385v3h3l8.385 -8.415z'%3E%3C/path%3E%3Cpath d='M16 5l3 3'%3E%3C/path%3E%3C/svg%3E"); --navbox-icon-offset--x: 0.5rem; /* should be an absolute length (rem-based or px-based) */ } .ranger-navbox.pill, .ranger-navbox.pill-mobile{ /** vars for the "pill" style only (`.pill` and ".pill-mobile" clases) **/ --navbox-pill-gap: 0.3em; --navbox-pill-padding: 0.25em 0.75em; --navbox-pill-border-radius: 3px; --navbox-pill-box-shadow: none; --navbox-pill-background: color-mix(in srgb, var(--wiki-content-text-color) 5%, transparent); --navbox-pill-box-shadow--hover: inset 0 0 3px var(--navbox-list-color); --navbox-pill-background--hover: var(--navbox-pill-background); --navbox-pill-selflink-background: color-mix(in srgb, var(--wiki-accent-color) 15%, transparent);/* background of pills with selflink in them */ /* remove list cell background */ --navbox-list-background: none; --navbox-list-background--striped: color-mix(in srgb, var(--wiki-content-text-color) 3%, transparent); } .ranger-navbox.no-underline-title-links{ --navbox-title-link-color: var(--wiki-accent-link-color); --navbox-title-link-decoration: none; --navbox-title-redlink-decoration: none; } .ranger-navbox.noborder, .ranger-navbox.no-border{ --navbox-padding: 0px; --navbox-outer-border-width: 0px; } /****************************** * Fallback for older browsers * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .ranger-navbox { --navbox-above-background: var(--wiki-content-background-color--secondary); --navbox-list-background: transparent; --navbox-list-background--striped: var(--wiki-content-background-color--secondary); --navbox-group-background: var(--wiki-content-background-color--secondary); --navbox-tree-line-color: var(--wiki-content-background-color--secondary); } .ranger-navbox.pill, .ranger-navbox.pill-mobile { --navbox-pill-background: var(--wiki-content-background-color--secondary); --navbox-list-background--striped: transparent; --navbox-pill-selflink-background: var(--wiki-content-background-color--secondary); } } /*************** * End fallback * ****************/ 0f49887270380cdac6968f16cfc75a115818c39a MediaWiki:Gadgets/hoverShowSpoilers 8 264 288 2025-05-10T19:29:08Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": false, "default": false, "hidden": false, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "main.css" ], "dependencies": [], "type": "styles" } } e110b26ef7e015e5579a5eb41f366be7e37da34b MediaWiki:Gadgets/mpEditLinks 8 265 289 2025-05-10T19:29:09Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": false, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [], "contentModels": [], "rights": [ "editprotected" ] }, "module": { "pages": [ "main.css", "main.js" ], "dependencies": [ "jquery", "mediawiki.util" ], "type": "general" } } 896c95a05c8010f4e27f4ae9b4ceff0ac857e576 MediaWiki:Gadgets/collapsibleSidebarSections 8 266 290 2025-05-10T19:29:09Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "appearance", "package": true, "default": false, "hidden": false, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [], "contentModels": [], "rights": [] }, "module": { "pages": [ "main.css", "main.js" ], "dependencies": [ "jquery" ], "type": "general" } } d67dc8fabaf4e1d275a3b17c42f3d707f00b707c MediaWiki:Gadgets/collapsibleSidebarSections/main.js 8 267 291 2025-05-10T19:29:10Z ARTIFICER 564804 Importing default loadout javascript text/javascript $(function(){ // CONFIG section, you can edit this part // a list of sections that should be collapsed by default for *all users*. // This should be the name of the heading as listed in Mediawiki:Sidebar and is case-sensitive. // For example, if you have '* Character_Classes' and you want that section collapsed, add 'Character_Classes' into the brackets below. // Separate entries with commas and use underscores instead of spaces. // Example list: ['Character_Classes', 'Items', 'External_Links'] // Please DO NOT add navigation or tb into this list, as they are expected functionality. var INITIALLY_COLLAPSED_IDS = []; var MIN_ACTIVATION_WIDTH = 721; //END CONFIG // add the p- onto ids for ease of use, if not present INITIALLY_COLLAPSED_IDS.forEach(function(id, index){ if(!id.startsWith('p-')){ INITIALLY_COLLAPSED_IDS[index] = 'p-' + id; } }); var $portals = $("#mw-panel .vector-menu-portal"); var setup = function(){ $portals.each(function(index, el){ if(window.innerWidth < MIN_ACTIVATION_WIDTH) { return; } var $el = $(el); var $id = $el.attr("id"); if(!$id){ return; } // check if this portal should be collapsed if( // portal is set to be initially collapsed and user has not indicated that they want it open (INITIALLY_COLLAPSED_IDS.includes($id) && localStorage.getItem('sidebar_c_'+$id) != "n") || // or // user has indicated they want this portal collapsed (localStorage.getItem('sidebar_c_'+$id) === "y") ){ $el.addClass('collapsed').find('.vector-menu-content').slideUp(0); } }); } setup(); $(window).on('resize', setup); $portals.on("click", "h3", function(event){ if(window.innerWidth < MIN_ACTIVATION_WIDTH) { return; } var $el = $(this).parent(); var $id = $el.attr("id"); if(!$id){ return; } $el.toggleClass('collapsed'); if($el.hasClass('collapsed')){ // more consistent between class and slide status. localStorage.setItem('sidebar_c_'+$id, "y"); $el.find('.vector-menu-content').slideUp('fast'); } else{ localStorage.setItem('sidebar_c_'+$id, "n"); $el.find('.vector-menu-content').slideDown('fast'); } }); }); 63d4425138f9c81e8294fbd01a08de9e1f58256a MediaWiki:Gadgets/collapsibleSidebarSections/main.css 8 268 292 2025-05-10T19:29:10Z ARTIFICER 564804 Importing default loadout css text/css @media screen and (min-width:721px) { .client-js #mw-panel .vector-menu-portal .vector-menu-heading { cursor: pointer; display: flex; align-items: center; justify-content: space-between; } .client-js #mw-panel .vector-menu-portal .vector-menu-heading::after { content: ""; display: block; pointer-events: none; width: 14px; height: 14px; margin-top: 1px; /* offset */ --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-chevron-down' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M6 9l6 6l6 -6'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--wiki-sidebar-link-color); transform: rotate(180deg); } .client-js #mw-panel .vector-menu-portal.collapsed .vector-menu-heading::after { transform: rotate(0deg); } } c0d9f96aea139cac264f8504292a01d07eefae2d MediaWiki:Gadgets/uploadMultipleFiles 8 269 293 2025-05-10T19:29:11Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": false, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [ -1 ], "contentModels": [], "rights": [ "edit", "upload" ] }, "module": { "pages": [ "main.js" ], "dependencies": [ "jquery", "mediawiki.util" ], "type": "general" } } 13bc1e984c367575a7b4f4ac29d2cf75b4f01c6c MediaWiki:Gadgets/purge 8 270 294 2025-05-10T19:29:11Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": false, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [], "contentModels": [], "rights": [ "edit" ] }, "module": { "pages": [ "main.js" ], "dependencies": [ "mediawiki.util", "mediawiki.api" ], "type": "general" } } af2694fd57147735a6bfbca7f9d483ff0dff31c6 MediaWiki:Gadgets/ranger/custom.css 8 271 295 2025-05-10T19:29:12Z ARTIFICER 564804 Importing default loadout css text/css /* Custom RANGER styles can go here. Rules here will override rules of equal specificity in main.css */ 769d3248cef93d2b58dcf7339da923494f5173f8 MediaWiki:Gadgets/vectorScripts 8 272 296 2025-05-10T19:29:12Z ARTIFICER 564804 Importing default loadout GadgetDefinition application/json { "settings": { "section": "", "package": true, "default": true, "hidden": true, "supportsUrlLoad": false }, "loadConditions": { "actions": [], "categories": [], "namespaces": [], "contentModels": [], "rights": [], "skins": [ "vector" ] }, "module": { "pages": [ "main.js" ], "dependencies": [], "type": "general" } } f26fca963d213febee869477a05933a6fedfc542 MediaWiki:Gadgets/vectorScripts/main.js 8 273 297 2025-05-10T19:29:13Z ARTIFICER 564804 Importing default loadout javascript text/javascript /*** Mobile navigation toggle button ***/ ( function () { const BUTTON_CLASS = 'mobile-nav-toggle'; if (document.querySelector('button.' + BUTTON_CLASS)){return;} // early return to avoid double button if this runs twice let mobileSidebarButton = document.createElement( 'button' ); mobileSidebarButton.className = BUTTON_CLASS; mobileSidebarButton.addEventListener( 'click', function () { mobileSidebarButton.classList.toggle( 'nav--expanded' ); } ); document.body.classList.add( 'has-vector-mobile-menu' ); document.getElementById( 'mw-panel' ).prepend( mobileSidebarButton ); } )(); /*** End mobile navigation toggle button ***/ b2f8092a2c1ebb32abd18d40c247577c8b01b1f5 File:Site-favicon.ico 6 274 298 2025-05-11T03:18:32Z Daspidy 595608 Revenge wiki's favicon wikitext text/x-wiki == Summary == Revenge wiki's favicon == Licensing == {{License|game}} 55073a0bb13fc4f09d15ec36c398c63b0e0bdd1b 299 298 2025-05-11T03:39:54Z Daspidy 595608 Protected "[[File:Site-favicon.ico]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Summary == Revenge wiki's favicon == Licensing == {{License|game}} 55073a0bb13fc4f09d15ec36c398c63b0e0bdd1b File:Site-logo.png 6 275 300 2025-05-15T00:35:57Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} 5fdc0517c60eec1aa02a1fef9763fa88c38be9ad File:Site-logo.png 6 275 301 300 2025-05-15T00:36:44Z Daspidy 595608 Protected "[[File:Site-logo.png]]" ([Edit=Allow only administrators] (indefinite) [Rename=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Licensing == {{License|game}} 5fdc0517c60eec1aa02a1fef9763fa88c38be9ad Revenge of the Savage Planet Wiki/about 0 6 302 11 2025-05-15T00:44:48Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = About Revenge of the Savage Planet }} Revenge of the Savage Planet is an upbeat, satirical action adventure Sci-Fi. Jump, shoot and collect your way across vibrant alien worlds, uncovering new gear and upgrades, while discovering various hidden secrets. <div style="text-align:right">[[Revenge of the Savage Planet|Read more...]]</div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> da3ab975173272ae9b771ad47e8e82ff4810b654 Revenge of the Savage Planet Wiki/external 0 8 303 15 2025-05-15T00:49:16Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = External links }} <div class="mp-links columns-2"> * {{MP link|Official Game Website|link=https://www.savageplanet.games}} * {{MP link|Savage Planet Discord|link=https://discord.gg/7hCdVxrQWK|image=Discord.svg|size=64x64px}} * {{MP link|Bluesky|link=https://bsky.app/profile/wiki.gg|image=Bluesky.svg|size=64x64px}} * {{MP link|indie.io|link=https://www.indie.io/|image=indie.io.svg|size=64x64px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 828b7e3a052def8f8bd27cd0fb4efd688c961572 305 303 2025-05-15T00:55:03Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = External links }} <div class="mp-links columns-2"> * {{MP link|Official Game Website|link=https://www.savageplanet.games|image=File:Revengelogosquare.png|size=64x64px}} * {{MP link|Savage Planet Discord|link=https://discord.gg/7hCdVxrQWK|image=Discord.svg|size=64x64px}} * {{MP link|Savage Planet YouTube|link=https://www.youtube.com/@SavagePlanetHub|image=YouTube.svg|size=64x64px}} * {{MP link|View Revenge on Steam|link=https://store.steampowered.com/app/2787320/Revenge_of_the_Savage_Planet/|image=Steam.svg|size=64x64px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> ae14fb930dee2a25fb594f4f7acb0d18211a9ecb File:Revengelogosquare.png 6 276 304 2025-05-15T00:51:37Z Daspidy 595608 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Sidebar 8 277 306 2025-05-15T01:07:03Z Daspidy 595608 Created page with "* navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * sidebar-customizing-wiki ** MediaWiki:Sidebar|sidebar-edit-sidebar ** MediaWiki:Common.css|sidebar-edit-common-css ** MediaWiki:Vector.css|sidebar-edit-vector-css ** MediaWiki:Common.js|sidebar-edit-common-js ** MediaWiki:Vector.js|sidebar-edit-vector-js ** Special:AllPages|sidebar-all-pages ** Special:SpecialPages|sidebar-special-pag..." wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * sidebar-customizing-wiki ** MediaWiki:Sidebar|sidebar-edit-sidebar ** MediaWiki:Common.css|sidebar-edit-common-css ** MediaWiki:Vector.css|sidebar-edit-vector-css ** MediaWiki:Common.js|sidebar-edit-common-js ** MediaWiki:Vector.js|sidebar-edit-vector-js ** Special:AllPages|sidebar-all-pages ** Special:SpecialPages|sidebar-special-pages * Kindex * wiki.gg ** support:|sidebar-support-wiki ** Wikigg-ticket-link|sidebar-submit-ticket ** wikigg-socialmedia-joinlink|wikigg-socialmedia-jointext-sidebar 1b1cbb58c4d721d0e1522cc2005f1b743df907a9 Griff & Splunker 'Pacifier' Pistol 0 278 307 2025-06-04T06:02:40Z Daspidy 595608 Created page with "The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout Revenge of the Savage Planet." wikitext text/x-wiki The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout Revenge of the Savage Planet. c69bbe9d6c348c63bde7cf98c2d15081878268db 309 307 2025-06-04T06:11:47Z Daspidy 595608 link wikitext text/x-wiki The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. aa2cd1b7c42723e5bd592706173af6f230c7363b 326 309 2025-06-11T14:57:55Z Daspidy 595608 wikitext text/x-wiki {{Pacifier Pistol Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Region=Shurima |Element=Fire |Attack=51 |HP=85 |Armor=34 |Attack Speed=78 }} The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. ec428ee001831315df19389f10328a434266eac3 327 326 2025-06-11T15:11:50Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Region=Shurima |Element=Fire |Attack=51 |HP=85 |Armor=34 |Attack Speed=78 }} The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 38c33a7cf7ca1ded5700afdd75e0de904baec677 331 327 2025-06-11T16:08:16Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Upgrade Type=Weapon |Mission Prerequisite=-placeholder- |Printer Slurry=0 |Carbon=-placeholder- |Silicon=-placeholder- |Aluminium=-placeholder- }} The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 56517f99d8994b8f69bdb4f81dfe1afe67b87339 335 331 2025-06-11T16:23:15Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Upgrade Type=Weapon |Ability/Tool/Passive=Tool |Mission=-placeholder- |Upgrade=None |Printer Slurry=0 |Carbon=-placeholder- |Silicon=-placeholder- |Aluminium=-placeholder- }} The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 9f9f0028880fb5aa2892d9af20085fa30a58c017 349 335 2025-06-11T18:02:09Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Upgrade Type=Weapon |Ability/Tool/Passive=Tool |Mission=Rough Morning |Upgrade=None |Printer Slurry=0 |Carbon=0 |Silicon=0 |Aluminium=220 }} The Griff & Splunker 'Pacifier' Pistol is the primary weapon used throughout [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 37c56a229b2fd83c4ec1f5ea3d561448af553170 350 349 2025-06-11T19:09:40Z Daspidy 595608 expanded the page wikitext text/x-wiki {{Upgrade Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Upgrade Type=Weapon |Ability/Tool/Passive=Tool |Mission=Rough Morning |Upgrade=None |Printer Slurry=0 |Carbon=0 |Silicon=0 |Aluminium=220 }} The Griff & Splunker 'Pacifier' Pistol is a weapon obtained and is the primary means of defense in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. == Features == The Pacifier fires a plasma projectile each time the trigger is pulled capable of damaging wildlife and fragile objects. It can be zoomed by the player for more precise shots. The power of each shot can be increased by purchasing damage upgrades. Rather than having a bullet capacity, the Pacifier has an overheat meter that'll fill with each shot. It will cooldown naturally when the player stops firing. If it fully overheats, the player will be temporarily unable to use the gun. Upgrades can be purchased to prolong its usability and speed up its recovery from overheat. The player can purchase an upgrade allowing the Pacifier to charge up and release an explosive shot capable of dealing substantial damage to a target. This charge shot can be further improved by additional upgrades allowing it to charge even further and gain the ability to bounce off of enemies and unleash a powerful explosion at the end of its lifespan. == Tips == * The Pacifier can be shot while sliding and mid-air, making it easier to dodge out of harm's way while still returning fire. * The overheat delay can be cancelled by using the power dodge. == Trivia == * In early trailers for Revenge, a gun appearing to be the Nomad pistol from the first game can be seen wielded instead of the current Pacifier. It was most likely a placeholder model. 14825664d2907c82dfe0c65534e133c0237265de Stellaris Prime 0 279 308 2025-06-04T06:10:50Z Daspidy 595608 Created page with "Stellaris Prime is the very first explorable planet in Revenge of the Savage Planet." wikitext text/x-wiki Stellaris Prime is the very first explorable planet in Revenge of the Savage Planet. 3c233f62ebe896e49c69e2130ec3caa1c52da320 310 308 2025-06-04T06:12:19Z Daspidy 595608 link wikitext text/x-wiki Stellaris Prime is the very first explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. a53ba0a87d6ab9dca5de35d264a652fe15be6c81 Xephyr 0 280 311 2025-06-04T06:13:21Z Daspidy 595608 Created page with "Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]." wikitext text/x-wiki Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. ad5a64e08549057c92e669b479b207708726c0d3 Zenithian Rift 0 281 312 2025-06-04T06:13:58Z Daspidy 595608 Created page with "Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]." wikitext text/x-wiki Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 8587a10148be5aa49e40c211d40b0808777853b7 Quasadron IX 0 282 313 2025-06-04T06:14:44Z Daspidy 595608 Created page with "Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]." wikitext text/x-wiki Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 3e6d0b51858fdd478f225d5c2fe05bb304777051 Slappi's Den of Fun 0 283 314 2025-06-04T06:15:27Z Daspidy 595608 Created page with "Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]." wikitext text/x-wiki Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 56bd910abed28d08633dfe27350a0c771227ff1a Spritzer Power Hose 0 284 315 2025-06-04T06:16:35Z Daspidy 595608 Created page with "The Spritzer Power Hose is an obtainable and vital tool in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]." wikitext text/x-wiki The Spritzer Power Hose is an obtainable and vital tool in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 6bf92bfc942a64fa6acf79a4306e0eef29db6ff4 Proton Whip X11 0 285 316 2025-06-04T06:17:45Z Daspidy 595608 Created page with "The Proton Whip X11 is an obtainable simultaneous weapon and tool in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]." wikitext text/x-wiki The Proton Whip X11 is an obtainable simultaneous weapon and tool in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 1c255e7e257929a2323db232b1bba5ea7329d5cb Reflect-O-Matic Hand Gel 0 286 317 2025-06-04T06:21:02Z Daspidy 595608 Created page with "The Reflect-O-Matic Hand Gel is a key upgrade in Revenge of the Savage Planet. When obtained, the player will have access to the ability to parry projectiles and sending them back at intended targets." wikitext text/x-wiki The Reflect-O-Matic Hand Gel is a key upgrade in Revenge of the Savage Planet. When obtained, the player will have access to the ability to parry projectiles and sending them back at intended targets. 60e9aff116411c4a08713c05339dbe0fdbeb2bb4 Gritworks Magnetic Fork 0 287 318 2025-06-04T06:24:22Z Daspidy 595608 Created page with "The Gritworks Magnetic Fork is a key upgrade obtained in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. When obtained, the player is able to use the Mag-Fork to interact with Metallic Chunks and Metallic Mega Chunks found on the planets." wikitext text/x-wiki The Gritworks Magnetic Fork is a key upgrade obtained in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. When obtained, the player is able to use the Mag-Fork to interact with Metallic Chunks and Metallic Mega Chunks found on the planets. 5297a26ecae6a5423c1b775aee9d23c85f3c1958 Category:Revenge of the Savage Planet Wiki 14 288 319 2025-06-09T17:26:31Z RheingoldRiver 2743 Created page with "[[Category:Revenge of the Savage Planet Wiki]]" wikitext text/x-wiki [[Category:Revenge of the Savage Planet Wiki]] 9a6fd5c04f17accb97edc0c0883d50001904d4b2 Revenge of the Savage Planet 0 289 320 2025-06-10T02:27:52Z Daspidy 595608 Created page with "Revenge of the Savage Planet is a third-person sci-fi comedy action-adventure with Metroidvania elements by [https://www.raccoonlogic.com/about Raccoon Logic]. Following the events of the first game, [https://en.wikipedia.org/wiki/Journey_to_the_Savage_Planet Journey to the Savage Planet], players take the role of explorers hired under [[Alta Interglobal]] who are placed under cryo-sleep with the future task of colonizing a far-off alien planet, only to find out after w..." wikitext text/x-wiki Revenge of the Savage Planet is a third-person sci-fi comedy action-adventure with Metroidvania elements by [https://www.raccoonlogic.com/about Raccoon Logic]. Following the events of the first game, [https://en.wikipedia.org/wiki/Journey_to_the_Savage_Planet Journey to the Savage Planet], players take the role of explorers hired under [[Alta Interglobal]] who are placed under cryo-sleep with the future task of colonizing a far-off alien planet, only to find out after waking they have been fired and stranded with no way back home. Players are challenged with exploring, platforming, solving, upgrading, and fighting their way through several worlds as they collect their scattered equipment and figure out a way back home whilst enacting revenge on their former employer. The game can be played either singleplayer or in two player co-op via online services (including cross-platform support) or split-screen. 93c13ad5e5fd4eb5d845a4b4f31d46f19eec675d 348 320 2025-06-11T17:48:53Z Daspidy 595608 added availability and reception details wikitext text/x-wiki == Summary == Revenge of the Savage Planet is a third-person sci-fi comedy action-adventure with Metroidvania elements by [https://www.raccoonlogic.com/about Raccoon Logic]. Following the events of the first game, [https://en.wikipedia.org/wiki/Journey_to_the_Savage_Planet Journey to the Savage Planet], players take the role of explorers hired under [[Alta Interglobal]] who are placed under cryo-sleep with the future task of colonizing a far-off alien planet, only to find out after waking they have been fired and stranded with no way back home. Players are challenged with exploring, platforming, solving, upgrading, and fighting their way through several worlds as they collect their scattered equipment and figure out a way back home whilst enacting revenge on their former employer. The game can be played either singleplayer or in two player co-op via online services (including cross-platform support) or split-screen. == Reception == As of June 11th, 2025, Revenge has largely garnered positive reception, currently sitting at a score of 77 from critics on [https://www.metacritic.com/game/revenge-of-the-savage-planet/ Metacritic]. The official accolades trailer can be viewed at [https://youtu.be/ElIYpLXHKR8 this link]. == Availability == The game is currently available on [https://www.xbox.com/en-US/games/store/revenge-of-the-savage-planet/9N7HBTQ391VG? Xbox Series X/S], [https://store.playstation.com/en-us/product/UP7458-PPSA20154_00-REVESAVAGEPLANET PlayStation 4 & 5], [https://store.steampowered.com/app/2787320/Revenge_of_the_Savage_Planet/ Steam] (additionally Steam Deck verified), [https://store.epicgames.com/en-US/p/revenge-of-the-savage-planet-9dc14c Epic Games Launcher], and [https://www.gog.com/en/game/revenge_of_the_savage_planet GOG]. The game features English, French, Italian, German, Spanish, Japanese, Korean, Portuguese, and Chinese translations. It is also available in English, French, or Chinese voice dubs. 8f64acdbd6df876112968dd56a16523d373a3992 File:Toolsabilitiesicon.png 6 290 321 2025-06-11T14:13:15Z Daspidy 595608 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Revenge of the Savage Planet Wiki/pages 0 5 322 9 2025-06-11T14:13:31Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-2"> * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Random page|link=Special:Random}} * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Example character infobox|link=Template:Example character infobox|image=Example_character_image.png|size=92px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> d71eb38ce97fff5f62ceb3f868508ed1eea5345d 344 322 2025-06-11T17:27:41Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-2"> * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Random page|link=Special:Random}} * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> f5293152c72e42ac175e3b5039e1b071e731861c Tools & Abilities 0 291 323 2025-06-11T14:28:56Z Daspidy 595608 Created page with "Various tools and abilities are acquired throughout Revenge of the Savage Planet, with some being necessary for story progression. Some tools also have upgrades to increase their usefulness to the player. {| class="wikitable" |+ Caption text |- | '''WEAPON''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''POWER HOSE''' || Example || Example || Example || Ex..." wikitext text/x-wiki Various tools and abilities are acquired throughout Revenge of the Savage Planet, with some being necessary for story progression. Some tools also have upgrades to increase their usefulness to the player. {| class="wikitable" |+ Caption text |- | '''WEAPON''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''POWER HOSE''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''ITEMS''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''WHIP''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''JUMP PACK''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''DRONE''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''SUIT''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |- | '''JAVELIN''' || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example || Example |} 66e80e020f72099afa4f5e119f67794f75203235 324 323 2025-06-11T14:55:21Z Daspidy 595608 wikitext text/x-wiki Various tools and abilities are acquired throughout Revenge of the Savage Planet, with some being necessary for story progression. Some tools also have upgrades to increase their usefulness to the player. {| class="wikitable" |+ List of All Available Tools, Abilities and Upgrades |- | '''WEAPON''' || [[Griff & Splunker 'Pacifier' Pistol]]|| Supernova Charge Shot || Bounce Shot || Bounce Bomb || Snork Heat Sink || Snork Heat Sink V.2 || Snork Heat Sink V.3 || Snork Heat Sink V.4 || Grunk Power Booster || Grunk Power Booster V.2 || Grunk Power Booster V.3 || Grunk Power Booster V.4 || Griff & Splunker Heat Dumper || Griff & Splunker's Faster Dumper |- | '''POWER HOSE''' || [[Spritzer Power Hose]]|| Goo Ingestor || Green Goo Tank || Homebrew Green Goo Tank || Lava Tank || Homebrew Lava Tank || Ferro Goo Tank || Homebrew Ferro Goo Tank || || || || || || |- | '''ITEMS''' || Pleather Utility Belt || Rawhide Utility Belt || A1 Utility Belt || Bait || [[Reflect-O-Matic Hand Gel]]|| Bombegranate || Bombegranate Stabilizer || Bombegranate Booster || Blight Bomb || Blight Bomb Stabilizer || Gelatinous Blob || Gelatinous Blob Stabilizer || || |- | '''WHIP''' || [[Proton Whip X11]]|| Proton Whip Tether || Hawx Rail Grinder || Proton Tether X11 Launcher || Boosted Tether Jump || || || || || || || || || |- | '''JUMP PACK''' || Alta Interglobal Backpack V.1 || ZOOT Jump Thrusters || Triple Thrusters || Quadruple Thrusters || Power Dodge || Boosted Slide Jump || Launch Boosters || Advanced Launch Boosters || Stomp Booster || Advanced Stomp Boosters || || || || |- | '''DRONE''' || EKO The Drone || Drone Glider || Franx Underwater Scooter || Remote Drone Controller || || || || || || || || || || |- | '''SUIT''' || Standard Alta Spacesuit || Discount AR Smart Visor || Intelli-Visor Upgrade || Survey Resource Finder || Survey Range Booster || Planet Scanner || The 'Fancy Nancy' Equipment Tagger || Pyrex Loot Magnet || Default Air Filter || Toxic Deshocker || Landing Impact Nullifier || [[Gritworks Magnetic Fork]]|| Shama Lama's Prototype Suit (ADD-ON) || |- | '''JAVELIN''' || Air Freshener || Ultra Hi-Fi Sound System || Antenna || Thrusters || Radiator || || || || || || || || || |} 1f8de8cc0a782dab29b95e6290c5f3ad105f78c0 File:Pacifierpistol.png 6 292 325 2025-06-11T14:57:38Z Daspidy 595608 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Upgrade Infobox 10 293 328 2025-06-11T15:50:25Z Daspidy 595608 Created page with "{{Upgrade Infobox |title= |image= |Upgrade Type= |Mission Prerequisite= |Carbon= |Silicon= |Aluminum= |Printer Slurry= }}" wikitext text/x-wiki {{Upgrade Infobox |title= |image= |Upgrade Type= |Mission Prerequisite= |Carbon= |Silicon= |Aluminum= |Printer Slurry= }} 0f0a519f3fad581aa5fdcd62e5cf30772a98925f 329 328 2025-06-11T16:02:11Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title= |image= |Upgrade Type= |Mission Prerequisite= |Carbon= |Silicon= |Aluminum= |Printer Slurry= }} <noinclude> <templatedata> { "params": { "Upgrade Type": { "required": true }, "Mission Prerequisite": { "suggested": true }, "Carbon": { "type": "number", "suggested": true }, "Silicon": { "type": "number", "suggested": true }, "Aluminium": { "type": "number", "suggested": true }, "Printer Slurry": { "type": "number", "suggested": true } }, "paramOrder": [ "Upgrade Type", "Mission Prerequisite", "Carbon", "Silicon", "Aluminium", "Printer Slurry" ] } </templatedata> </noinclude> 6530f1db51f87c1253062624ff91282fef329974 330 329 2025-06-11T16:05:31Z Daspidy 595608 wikitext text/x-wiki {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=General Info, Purchase Cost |General Info=Upgrade Type, Mission Prerequisite |Purchase Cost=Printer Slurry, Carbon, Silicon, Aluminium }} 335e05b058db58f65f11e1a578e7d3c847292305 332 330 2025-06-11T16:09:32Z Daspidy 595608 wikitext text/x-wiki {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Upgrade Info, Purchase Cost |General Info=Upgrade Type, Mission Prerequisite |Purchase Cost=Printer Slurry, Carbon, Silicon, Aluminium }} 8c15ad011f5d2a7fe6ec573dabd58db500bed742 333 332 2025-06-11T16:10:34Z Daspidy 595608 wikitext text/x-wiki {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Upgrade Info, Purchase Cost |Upgrade Info=Upgrade Type, Mission Prerequisite |Purchase Cost=Printer Slurry, Carbon, Silicon, Aluminium }} b4c3e81a96c4536456bc5475779c737b6d2b6fba 334 333 2025-06-11T16:22:23Z Daspidy 595608 wikitext text/x-wiki {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Upgrade Info, Prerequisites, Purchase Cost |Upgrade Info=Upgrade Type, Ability/Tool/Passive |Prequisites=Mission, Upgrade |Purchase Cost=Printer Slurry, Carbon, Silicon, Aluminium }} 7e9e137f13220bc658c6a42096a86c3704409f8e 336 334 2025-06-11T16:23:29Z Daspidy 595608 wikitext text/x-wiki {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Upgrade Info, Prerequisites, Purchase Cost |Upgrade Info=Upgrade Type, Ability/Tool/Passive |Prerequisites=Mission, Upgrade |Purchase Cost=Printer Slurry, Carbon, Silicon, Aluminium }} 0b10f3c358f2cfb7f31a5b3ec0725dbcca15cf37 File:Xephyr.png 6 294 337 2025-06-11T17:19:59Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b File:Slappisdenoffun.png 6 295 338 2025-06-11T17:20:00Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b File:Quasadronix.png 6 296 339 2025-06-11T17:20:02Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b File:Zenithianrift.png 6 297 340 2025-06-11T17:20:02Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b File:Stellarisprime.png 6 298 341 2025-06-11T17:20:03Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b Planets 0 299 342 2025-06-11T17:22:29Z Daspidy 595608 Created page with "Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <gallery> Stellarisprime.png|[[Stellaris Prime]] Xephyr.png|[[Xephyr]] Zenithianrift.png|[[Zenithian Rift]] Quasadronix.png|[[Quasadron IX]] Slappisdenoffun.png|[[Slappi's Den of Fun]] </gallery>" wikitext text/x-wiki Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <gallery> Stellarisprime.png|[[Stellaris Prime]] Xephyr.png|[[Xephyr]] Zenithianrift.png|[[Zenithian Rift]] Quasadronix.png|[[Quasadron IX]] Slappisdenoffun.png|[[Slappi's Den of Fun]] </gallery> 3122b2a25890cd7171b316db29a1b72a88cffc10 345 342 2025-06-11T17:31:17Z Daspidy 595608 wikitext text/x-wiki Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <div class="mp-links columns-1"> * {{MP link|Stellaris Prime|link=Stellaris Prime|image=Stellarisprime.png|size=92px}} * {{MP link|Xephyr|link=Xephyr|image=Xephyr.png|size=92px}} * {{MP link|Zenithian Rift|link=Tools & Abilities|image=Zenithianrift.png|size=92px}} * {{MP link|Quasadron IX|link=Quasadron IX|image=Quasadronix.png|size=92px}} * {{MP link|Slappi's Den of Fun|link=Slappi's Den of Fun|image=Slappisdenoffun.png|size=92px}} </div> 2371e82429a9b24fdeed8da624801e943918354c 346 345 2025-06-11T17:31:37Z Daspidy 595608 wikitext text/x-wiki Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <div class="mp-links columns-4"> * {{MP link|Stellaris Prime|link=Stellaris Prime|image=Stellarisprime.png|size=92px}} * {{MP link|Xephyr|link=Xephyr|image=Xephyr.png|size=92px}} * {{MP link|Zenithian Rift|link=Tools & Abilities|image=Zenithianrift.png|size=92px}} * {{MP link|Quasadron IX|link=Quasadron IX|image=Quasadronix.png|size=92px}} * {{MP link|Slappi's Den of Fun|link=Slappi's Den of Fun|image=Slappisdenoffun.png|size=92px}} </div> fe944a4eabfbabef52f6123009f5fb469c49d2ca File:Planetsicon.png 6 300 343 2025-06-11T17:26:59Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} 5fdc0517c60eec1aa02a1fef9763fa88c38be9ad Revenge of the Savage Planet Wiki/contribute 0 7 347 13 2025-06-11T17:34:10Z Daspidy 595608 added avoid use of ai content rule wikitext text/x-wiki {{Main page box/start | title = Contribute to the wiki }} {{SITENAME}} is a collaborative wiki resource that is open for anyone to edit. You don't need special permission beyond [[Special:UserLogin/signup|registering]] an account to edit most pages, and your contributions can grow the wiki and help other players. ; Adding content :* If you are unsure of what to do or how to create a page, search for a few articles on the same topic and see what they look like. You can always view the source code in a wiki and learn from what others have done. :* An edit doesn't have to be massive; if you feel you don't want to create whole articles, then just fixing spelling errors and broken links is enough. :* '''Do not use AI''' generated content to fill/create articles. This is to ensure authenticity and to help avoid misinformation. :* [[Special:UserLogin/signup|Register]] to edit and track your contributions. {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 5d76593fa6bf988038928e747f70c1ca5fae1833 Planets 0 299 351 346 2025-06-11T19:10:42Z Daspidy 595608 wikitext text/x-wiki Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <div class="mp-links columns-3"> * {{MP link|Stellaris Prime|link=Stellaris Prime|image=Stellarisprime.png|size=92px}} * {{MP link|Xephyr|link=Xephyr|image=Xephyr.png|size=92px}} * {{MP link|Zenithian Rift|link=Tools & Abilities|image=Zenithianrift.png|size=92px}} * {{MP link|Quasadron IX|link=Quasadron IX|image=Quasadronix.png|size=92px}} * {{MP link|Slappi's Den of Fun|link=Slappi's Den of Fun|image=Slappisdenoffun.png|size=92px}} </div> 1a37f62db66174c62159f316a2f7e4663a9c7603 352 351 2025-06-11T19:10:59Z Daspidy 595608 wikitext text/x-wiki Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <div class="mp-links columns-2"> * {{MP link|Stellaris Prime|link=Stellaris Prime|image=Stellarisprime.png|size=92px}} * {{MP link|Xephyr|link=Xephyr|image=Xephyr.png|size=92px}} * {{MP link|Zenithian Rift|link=Tools & Abilities|image=Zenithianrift.png|size=92px}} * {{MP link|Quasadron IX|link=Quasadron IX|image=Quasadronix.png|size=92px}} * {{MP link|Slappi's Den of Fun|link=Slappi's Den of Fun|image=Slappisdenoffun.png|size=92px}} </div> 97debf4aa9fdfcf04dea32436f7b7f18e759bb79 374 352 2025-06-12T01:34:38Z Daspidy 595608 wikitext text/x-wiki Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <div class="mp-links columns-2"> * {{MP link|Stellaris Prime|link=Stellaris Prime|image=Stellarisprime.png|size=92px}} * {{MP link|Xephyr|link=Xephyr|image=Xephyr.png|size=92px}} * {{MP link|Zenithian Rift|link=Zenithian Rift|image=Zenithianrift.png|size=92px}} * {{MP link|Quasadron IX|link=Quasadron IX|image=Quasadronix.png|size=92px}} * {{MP link|Slappi's Den of Fun|link=Slappi's Den of Fun|image=Slappisdenoffun.png|size=92px}} </div> 46fa25287334d1dd5bb852251387e74e20a3fd52 Revenge of the Savage Planet Wiki/pages 0 5 353 344 2025-06-11T20:46:54Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Random page|link=Special:Random}} * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 0e090e5bafbb1ffaa2fe293c3d0dc8c33978aef9 354 353 2025-06-11T20:50:15Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-2"> * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Random page|link=Special:Random}} * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> f5293152c72e42ac175e3b5039e1b071e731861c 355 354 2025-06-11T20:50:28Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Random page|link=Special:Random}} * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 0e090e5bafbb1ffaa2fe293c3d0dc8c33978aef9 359 355 2025-06-11T23:46:02Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Important page here|image=Wiki.gg logo-pink.svg|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} * {{MP link|Random page|link=Special:Random}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 3d83809b8ca3d7acfc0f621273c3792c93bed3bb 371 359 2025-06-12T00:54:26Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} * {{MP link|Fauna|link=Fauna|image=Planetsicon.png|size=92px}} * {{MP link|Kindex|link=Kindex|image=Planetsicon.png|size=92px}} * {{MP link|Resources|link=Resources|image=Planetsicon.png|size=92px}} * {{MP link|Missions|link=Missions|image=Missionicon.png|size=92px}} * {{MP link|Characters|link=Characters|image=Planetsicon.png|size=92px}} * {{MP link|Bosses|link=Bosses|image=Planetsicon.png|size=92px}} * {{MP link|Random page|link=Special:Random}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 042ae61b7e40031f4a12b110f4fd08699b152806 382 371 2025-06-12T02:53:48Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} * {{MP link|Fauna|link=Fauna|image=Planetsicon.png|size=92px}} * {{MP link|Kindex|link=Kindex|image=Planetsicon.png|size=92px}} * {{MP link|Resources|link=Resources|image=Resourcesicon.png|size=92px}} * {{MP link|Missions|link=Missions|image=Missionicon.png|size=92px}} * {{MP link|Characters|link=Characters|image=Planetsicon.png|size=92px}} * {{MP link|Bosses|link=Bosses|image=Bossesicon.png|size=92px}} * {{MP link|Random page|link=Special:Random}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 2f5894b66e762baa3da19fb05e1da761f4e44e15 390 382 2025-06-14T18:10:00Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} * {{MP link|Fauna|link=Fauna|image=Fauna.png|size=92px}} * {{MP link|Kindex|link=Kindex|image=Planetsicon.png|size=92px}} * {{MP link|Resources|link=Resources|image=Resourcesicon.png|size=92px}} * {{MP link|Missions|link=Missions|image=Missionicon.png|size=92px}} * {{MP link|Characters|link=Characters|image=Planetsicon.png|size=92px}} * {{MP link|Bosses|link=Bosses|image=Bossesicon.png|size=92px}} * {{MP link|Random page|link=Special:Random}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> 52dc11a9723314e52faf2a21fc9383f2704f428d 392 390 2025-06-14T18:14:39Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} * {{MP link|Fauna|link=Fauna|image=Fauna.png|size=92px}} * {{MP link|Kindex|link=Kindex|image=Kindex.png|size=92px}} * {{MP link|Resources|link=Resources|image=Resourcesicon.png|size=92px}} * {{MP link|Missions|link=Missions|image=Missionicon.png|size=92px}} * {{MP link|Characters|link=Characters|image=Planetsicon.png|size=92px}} * {{MP link|Bosses|link=Bosses|image=Bossesicon.png|size=92px}} * {{MP link|Random page|link=Special:Random}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> ffadd82a5c77afbcb067a378b7a62ed823d5cedc 394 392 2025-06-14T18:52:11Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Useful wiki pages | class = centered-content }} <div class="mp-links columns-4"> * {{MP link|Tools & Abilities|link=Tools & Abilities|image=toolsabilitiesicon.png|size=92px}} * {{MP link|Planets|link=Planets|image=Planetsicon.png|size=92px}} * {{MP link|Fauna|link=Fauna|image=Fauna.png|size=92px}} * {{MP link|Kindex|link=Kindex|image=Kindex.png|size=92px}} * {{MP link|Resources|link=Resources|image=Resourcesicon.png|size=92px}} * {{MP link|Missions|link=Missions|image=Missionicon.png|size=92px}} * {{MP link|Characters|link=Characters|image=Characters.png|size=92px}} * {{MP link|Bosses|link=Bosses|image=Bossesicon.png|size=92px}} * {{MP link|Random page|link=Special:Random}} </div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> aeaabda31656d4b0d4e44cccf63442e9a12387f6 MediaWiki:Common.css 8 226 356 250 2025-06-11T21:19:42Z Daspidy 595608 css text/css /* CSS placed here will be applied to all skins */ :root{ /* start font settings */ --wiki-body-font-family: sans-serif; --wiki-heading-font-family: 'Linux Libertine','Georgia','Times',serif; --wiki-sidebar-heading-font-family: sans-serif; /* end font settings */ /* start design variables */ --wiki-sidebar-border-radius:0px; /* these two variables must have units specified even if 0, ignore the warning */ --wiki-sidebar-portal-spacing:0px; --wiki-content-border-width:3px; --wiki-sidebar-border-width:3px; /* end design variables */ } /* the rest of the variables will modify some type of color, either text color, background color, border color, etc. */ :root, /* Begin light styles, delete from here to "end light styles" if you don't want your wiki to support any light themes (remove from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=light, */ /* individual themes are prefixed with .theme- instead */ .view-light { /********************** * Probably edit these * [ LIGHT VIEW ] ***********************/ --wiki-body-background-color: #F6F6F6; --wiki-body-background-image: url(/images/8/80/Site-background.jpg); /* please find the file path by viewing the image directly (click the image from the File: page) */ --wiki-content-background-color: #ffffff; --wiki-content-background-opacity: 100%; --wiki-content-border-color: #a7d7f9; --wiki-content-link-color: #0645ad; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ LIGHT VIEW ] */ --wiki-accent-color: #3366cc; --wiki-accent-label-color: #ffffff; --wiki-accent-link-color: #D5FB51; --wiki-icon-to-link-filter: invert(20%) sepia(93%) saturate(2141%) hue-rotate(210deg) brightness(83%) contrast(103%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ LIGHT VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #111111; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #ba0000; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 95%, var(--wiki-accent-label-color)); /* [ LIGHT VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ LIGHT VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ LIGHT VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #bf0017; --wiki-warning-color: #b05f30; --wiki-success-color: #0c742f; /**/ /*********************************** * Likely do not need to edit these * [ LIGHT VIEW ] ************************************/ --wiki-body-dynamic-color: #000000; --wiki-body-dynamic-color--inverted: #ffffff; --wiki-body-dynamic-color--secondary: #333333; --wiki-body-dynamic-color--secondary--inverted: #cccccc; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #ffffff; --wiki-content-dynamic-color: #000000; --wiki-content-dynamic-color--inverted: #ffffff; --wiki-content-dynamic-color--secondary: #333333; --wiki-content-dynamic-color--secondary--inverted: #cccccc; /* [ LIGHT VIEW ] */ --wiki-alert-label-color: #ffffff; --wiki-warning-label-color: #ffffff; --wiki-success-label-color: #ffffff; --wiki-icon-general-filter: ; /* do not set this to none, ignore the "unexpected token" error */ /**/ } /* end light styles */ /* Begin dark styles, delete from here to "end dark styles" if you don't want your wiki to support any dark themes (remove it from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=dark, */ /* individual themes are prefixed with .theme- instead */ .view-dark { /********************** * Probably edit these * [ DARK VIEW ] ***********************/ --wiki-body-background-color: #090E16; --wiki-body-background-image: url(/images/c/c4/Site-background-dark.jpg); /* please find the file path by viewing the image directly (not at the File: page) */ --wiki-content-background-color: #131F30; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #FF6E3C; --wiki-content-link-color: #8CE1F2; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ DARK VIEW ] */ --wiki-accent-color: #FF6E3C; --wiki-accent-label-color: #000; --wiki-accent-link-color: #8CE1F2; --wiki-icon-to-link-filter: invert(60%) sepia(70%) saturate(3715%) hue-rotate(206deg) brightness(101%) contrast(97%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ DARK VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #ededed; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #FC5B4F; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 90%, var(--wiki-accent-label-color)); /* [ DARK VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ DARK VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ DARK VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #ff576a; --wiki-warning-color:#cf721c; --wiki-success-color: #13aa45; /**/ /*********************************** * Likely do not need to edit these * [ DARK VIEW ] ************************************/ --wiki-body-dynamic-color: #ffffff; --wiki-body-dynamic-color--inverted: #000000; --wiki-body-dynamic-color--secondary: #cccccc; --wiki-body-dynamic-color--secondary--inverted: #333333; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #000; --wiki-content-dynamic-color: #ffffff; --wiki-content-dynamic-color--inverted: #000000; --wiki-content-dynamic-color--secondary: #cccccc; --wiki-content-dynamic-color--secondary--inverted: #333333; /* [ DARK VIEW ] */ --wiki-alert-label-color: #000000; --wiki-warning-label-color: #000000; --wiki-success-label-color: #000000; --wiki-icon-general-filter: invert(100%); } /* End dark styles */ /************************************** * Shared styles * * You likely don't need to edit these * ***************************************/ :root{ --wiki-content-text-mix-color: color-mix(in srgb, var(--wiki-content-background-color), var(--wiki-content-text-color) 62%); --wiki-content-text-mix-color-95: color-mix(in srgb, var(--wiki-content-background-color) 95%, var(--wiki-content-text-color)); } /******************** * End shared styles * *********************/ /****************************** * Fallback for older browsers * * DONT EDIT THIS * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .view-dark, .view-light, :root { --wiki-content-text-mix-color: var(--wiki-content-text-color); --wiki-content-text-mix-color-95: var(--wiki-content-background-color); --wiki-content-background-color--secondary: var(--wiki-content-dynamic-color--secondary--inverted); --wiki-content-border-color--secondary: var(--wiki-content-border-color); --wiki-content-border-color--accent: var(--wiki-accent-color); --wiki-accent-color--hover: var(--wiki-accent-color); } } /***************************** * End older browser fallback * ******************************/ /***************************** * PortableInfoboxes * ******************************/ :root { --pi-background: var(--wiki-content-background-color); --pi-secondary-background: var(--wiki-accent-color); --pi-secondary-background-label: var(--wiki-accent-label-color); --pi-border-color: color-mix(in srgb, var(--pi-secondary-background) 50%, transparent); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align:center; font-size:1.5em; background:color-mix(in srgb, var(--pi-secondary-background) 75%, transparent); color:var(--pi-secondary-background-label); } .portable-infobox .pi-data, .portable-infobox .pi-group { background:var(--wiki-content-background-color--secondary); } .portable-infobox .pi-image { padding: 8px; } .pi-image-thumbnail { max-width:100%; } .pi-caption { color: var(--wiki-content-text-mix-color); } .pi-section-navigation .pi-section-tab.pi-section-active, .pi-section-navigation .pi-section-tab.current, .pi-media-collection .pi-tab-link.current { background: var(--pi-secondary-background); color: var(--pi-secondary-background-label); } .pi-collapse > .pi-item:first-child { cursor: pointer; } /* overqualify these to overwrite normal content heading styles */ .mw-body .portable-infobox h2, .mw-body .portable-infobox h3 { border-bottom: 0; font-family: inherit; font-weight: 700; margin: 0; } /***************************** * End PortableInfoboxes * ******************************/ /******************* * Main page layout * ********************/ #mp-container { display:grid; gap:10px; } @media screen and (max-width:990px) { /* for mobile screens */ #mp-container{ grid-template-areas:var(--main-page-layout--mobile); grid-template-columns:var(--main-page-layout-columns--mobile,100%); } .mp-box.mp-hide-on-mobile { display:none; } } @media screen and (min-width:990px) and (max-width:1350px) { /* for narrow screens, between 990px and 1350px */ #mp-container { grid-template-areas:var(--main-page-layout--tablet); grid-template-columns:var(--main-page-layout-columns--tablet,1fr 1fr); } .mp-box.mp-hide-on-tablet { display:none; } } @media screen and (min-width:1350px) { /* for all other screens, 1350px and wider */ #mp-container { grid-template-areas:var(--main-page-layout--desktop); grid-template-columns:var(--main-page-layout-columns--desktop,2fr 1fr 2fr); } .mp-box.mp-hide-on-desktop { display:none; } } .mp-box { position:relative; display:flex; flex-flow:column nowrap; width: calc(100% - 2px); box-sizing: border-box; background:color-mix(in srgb, var(--wiki-content-background-color--secondary) 25%, transparent); border:1px solid var(--wiki-content-border-color); padding:0px; } .mp-body { height: 100%; display: flex; padding:0.5em; flex-flow: column nowrap; } .mp-box.centered-content .mp-body { height: 100%; display: flex; flex-flow: column nowrap; justify-content: space-evenly; } .mp-box.has-floating-image { display:block; } .mp-box.has-floating-image .mp-body { height:unset; display:block; } /* overqualified to override normal heading styles */ .mw-body .mp-box h2 { text-align:center; font-weight:bold; font-family:var(--wiki-heading-font-family); overflow: initial; border-bottom: 1px solid var(--wiki-content-border-color); font-size: 150%; margin: 0; padding: 5px 0; color:var(--wiki-content-heading-color); } #mp-box-welcome { text-align:center; position:relative; overflow:hidden; } #mp-box-welcome h2{ font-size: 200%; } #mp-welcome { display:flex; flex-flow:column nowrap; position: relative; height: 100%; z-index: 2; box-sizing: border-box; } #mp-welcome .welcome-subtitle { height: 100%; background:color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 85%, transparent); padding:0.5em; } #mp-banner { position: absolute; width: 100%; height: 100%; filter: blur(5px); z-index: -1; background: url(/images/e/e0/MP_banner.jpg); background-size: cover; background-repeat: no-repeat; background-position: top center; } .view-dark #mp-banner { filter: blur(5px) brightness(50%); } .view-light #mp-banner { filter: blur(5px) contrast(50%); } /* [[Template:MP_link]] */ .mp-links { --gap:10px; } .mp-links > ul { display: flex; flex-flow: row wrap; justify-content: space-evenly; margin: 2px; gap:var(--gap); } .mp-links > ul > li { display:flex; flex-flow:column nowrap; align-items:stretch; text-align: center; box-sizing:border-box; flex: max(calc(50% - var(--gap)), 5em) 1 1; outline:1px solid var(--wiki-content-link-color); transition:0.1s ease-in; } .mp-links > ul > li:hover { background-color:color-mix(in srgb, var(--wiki-content-link-color) 20%, transparent); } .mp-links.columns-1 > ul > li {flex: max(calc(100% - var(--gap)), 5em) 1 1;} .mp-links.columns-2 > ul > li {flex: max(calc(50% - var(--gap)), 5em) 1 1;} .mp-links.columns-3 > ul > li {flex: max(calc((100% / 3) - var(--gap)), 5em) 1 1;} .mp-links.columns-4 > ul > li {flex: max(calc(25% - var(--gap)), 5em) 1 1;} .mp-links.columns-5 > ul > li {flex: max(calc(20% - var(--gap)), 5em) 1 1;} .mp-links.columns-6 > ul > li {flex: max(calc((100% / 6) - var(--gap)), 5em) 1 1;} .mp-links.columns-7 > ul > li {flex: max(calc((100% / 7) - var(--gap)), 5em) 1 1;} .mp-links.columns-8 > ul > li {flex: max(calc((100% / 8) - var(--gap)), 5em) 1 1;} .mp-links.columns-max > ul > li {flex: max(calc(0% - var(--gap)), 5em) 1 1;} .mp-links > ul > li:hover a { text-decoration: underline; } .mp-links > ul > li > a { display: flex; align-items: center; justify-content: center; height:100%; flex:1 1 auto; box-sizing:border-box; padding:5px; } .mp-links > ul > li > a:first-child { height:100%; } .mp-links > ul > li > a:last-child:not(:first-child) { height:unset; } .mp-links.stretch, .mp-links.stretch > ul { height:100%; } .mp-links.side-image li { flex-flow:row nowrap; } .mp-links.plain > ul > li { outline-color:transparent; } /*********************** * End main page layout * ************************/ /********************************************************************************************************************* * Semantically-correct horizontal lists (for Module:Navbox, and they're more machine-readable than {{*}}-formatting) * **********************************************************************************************************************/ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: */ .hlist dt:not(:last-child)::after { content: ":\20"; } .hlist dd:not(:last-child)::after, .hlist li:not(:last-child)::after { /* "space, Middle Dot, space" We use unicode numbers instead of the raw characters due to a Firefox encoding bug on unicode characters. The space is also encoded because raw spaces combined with a unicode number strips the spaces under some conditions such as single-line lists */ /* content: "\20\00B7\20"; font-weight: bold; */ /* "space &nbsp; • &nbsp; space" There may (and likely) be an extra whitespace between <li>s, therefore we have to use a space character as last character of this sequence. By this way, the last space and the next whitespce will collapse as a single space, to make the whitespace on both sides of the middle dot the same width. */ content: "\20\A0\2022\A0\20"; font-weight: inherit; } /* Add parentheses around nested lists */ .hlist dd ol::before, .hlist dd ul::before, .hlist dd dl::before, .hlist dt ol::before, .hlist dt ul::before, .hlist dt dl::before, .hlist li ol::before, .hlist li ul::before, .hlist li dl::before { content: "\20("; font-weight: inherit; } .hlist dd ol::after, .hlist dd ul::after, .hlist dd dl::after, .hlist dt ol::after, .hlist dt ul::after, .hlist dt dl::after, .hlist li ol::after, .hlist li ul::after, .hlist li dl::after { content: ")"; font-weight: inherit; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) ".\20"; } /* Progressive enhancement: * try to make the dot always follow the list item in same line */ .hlist :is(li,dt,dd):not(:has(:is(li,dt,dd))){ display: inline-block; } /******************************************** * End semantically-correct horizontal lists * *********************************************/ /*** Miscellaneous ***/ .responsive-image { max-width:100%; height:auto; } .view-dark .invert-on-dark, .view-light .invert-on-light { filter:invert(100%); } .pixelated { image-rendering:pixelated; } @media screen and (min-width:720px) { .mobileonly { display:none; } } @media screen and (max-width:720px) { .nomobile { display:none; } } /*** Utility classes for standard MW galleries ***/ /* it's important that spaced comes before centered in the sheet */ .gallery.gallery.gallery.spaced { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */ display:flex; flex-flow:row wrap; justify-content:space-evenly; margin-left:unset; } .gallery.centered { text-align:center; } /************************** * Start Modular Templates * **************************/ /********* [[Template:Ambox]] *********/ .ambox { --ambox-color:var(--wiki-accent-color); border: 1px solid var(--wiki-content-border-color); border-left: 10px solid var(--ambox-color); border-radius: 2px; display: flex; align-items: center; gap: .6em; margin: 1em 0; padding: 3px .6em; background-color: var(--wiki-content-background-color--secondary); box-shadow: 2px 2px 5px 0px #0002; } @media (min-width: 720px) { .ambox { margin-inline: 10%; } } .ambox.tiny { padding: .04rem .5em; margin-inline: 0; width: fit-content; } .ambox + .ambox { margin-top: -.6em; } .ambox-content { flex: 1; } .ambox-content p { margin: .15em 0; } .ambox-title { font-weight: bold; } /********* [[Template:Hatnote]] *********/ .hatnote { padding: 1px 0 1px 1.6em; margin-bottom: 0.5em; font-style: italic; border-top: 1px solid var(--wiki-content-border-color--secondary); border-bottom: 1px solid var(--wiki-content-border-color--secondary); } .hatnote.icon { padding-left: 0; } /********* [[Template:Spoiler]] *********/ .spoiler-content { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 50%, transparent); transition: all 0.3s; cursor: pointer; overflow:auto; } @supports not (color:color-mix(in srgb, #000, transparent)) { .spoiler-content { background-color: var(--wiki-content-dynamic-color--secondary); } } .spoiler-content > * { pointer-events:none; opacity: 0; transition: all 0.3s; } .spoiler-content.show { background-color: transparent; } .spoiler-content.show > * { pointer-events:unset; opacity: 1; } /********* [[Template:Link icon]] *********/ .link-icon { --link-icon-line-height: 1.5em; --link-icon-size: 1.5em; display: inline-flex; align-items: center; height: var(--link-icon-line-height); vertical-align: bottom; } .link-icon .regular { align-self: center; } .link-icon .regular a { display: flex; } .link-icon .regular img { height: var(--link-icon-size); max-width: var(--link-icon-size); } .link-icon .fallback { outline: 1px solid var(--wiki-content-text-color); border-radius: 50%; text-align: center; width: var(--link-icon-size); line-height: var(--link-icon-size); } .link-icon.notext .fallback { display: inline-block; } .link-icon.notext { display: inline; } /********* [[Template:Quote]] *********/ .quote { background: var(--wiki-content-background-color--secondary); border-radius: 5px; border: 2px solid var(--wiki-content-border-color); margin: .5em 0; padding: .5em; overflow-y: hidden; } .quote .block { display: block; } .quote .title { font-size: large; font-weight: bold; } .quote .content { font-style: italic; } .quote .author { font-weight: bold; text-align: end; } .quote .marks-wrapper { display: flex; gap: 5px; } .quote .marks-wrapper::before, .quote .marks-wrapper::after { font-size: 100px; line-height: 0px; } .quote .marks-wrapper::before { content: "\201C"; margin-top: 40px; } .quote .marks-wrapper::after { content: "\201D"; align-self: end; margin-bottom: -10px; } .client-js .mw-charinsert-item { display:none; } /************************ * End Modular Templates * *************************/ /***************************** * Used by [[Template:Color]] * ******************************/ .color__splotch { display:inline-block; height:1em; width:1em; box-sizing:border-box; vertical-align:text-top; border-radius:50%; border:1px solid var(--wiki-content-text-color); } /********************* * End Template:Color * **********************/ 1c19dc93b8985ce4a9538e59d4a5a441245f23a2 361 356 2025-06-11T23:53:58Z Daspidy 595608 css text/css /* CSS placed here will be applied to all skins */ :root{ /* start font settings */ --wiki-body-font-family: sans-serif; --wiki-heading-font-family: 'Linux Libertine','Georgia','Times',serif; --wiki-sidebar-heading-font-family: sans-serif; /* end font settings */ /* start design variables */ --wiki-sidebar-border-radius:0px; /* these two variables must have units specified even if 0, ignore the warning */ --wiki-sidebar-portal-spacing:0px; --wiki-content-border-width:3px; --wiki-sidebar-border-width:3px; /* end design variables */ } /* the rest of the variables will modify some type of color, either text color, background color, border color, etc. */ :root, /* Begin light styles, delete from here to "end light styles" if you don't want your wiki to support any light themes (remove from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=light, */ /* individual themes are prefixed with .theme- instead */ .view-light { /********************** * Probably edit these * [ LIGHT VIEW ] ***********************/ --wiki-body-background-color: #F6F6F6; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (click the image from the File: page) */ --wiki-content-background-color: #ffffff; --wiki-content-background-opacity: 100%; --wiki-content-border-color: #a7d7f9; --wiki-content-link-color: #0645ad; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ LIGHT VIEW ] */ --wiki-accent-color: #3366cc; --wiki-accent-label-color: #ffffff; --wiki-accent-link-color: #D5FB51; --wiki-icon-to-link-filter: invert(20%) sepia(93%) saturate(2141%) hue-rotate(210deg) brightness(83%) contrast(103%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ LIGHT VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #111111; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #ba0000; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 95%, var(--wiki-accent-label-color)); /* [ LIGHT VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ LIGHT VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ LIGHT VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #bf0017; --wiki-warning-color: #b05f30; --wiki-success-color: #0c742f; /**/ /*********************************** * Likely do not need to edit these * [ LIGHT VIEW ] ************************************/ --wiki-body-dynamic-color: #000000; --wiki-body-dynamic-color--inverted: #ffffff; --wiki-body-dynamic-color--secondary: #333333; --wiki-body-dynamic-color--secondary--inverted: #cccccc; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #ffffff; --wiki-content-dynamic-color: #000000; --wiki-content-dynamic-color--inverted: #ffffff; --wiki-content-dynamic-color--secondary: #333333; --wiki-content-dynamic-color--secondary--inverted: #cccccc; /* [ LIGHT VIEW ] */ --wiki-alert-label-color: #ffffff; --wiki-warning-label-color: #ffffff; --wiki-success-label-color: #ffffff; --wiki-icon-general-filter: ; /* do not set this to none, ignore the "unexpected token" error */ /**/ } /* end light styles */ /* Begin dark styles, delete from here to "end dark styles" if you don't want your wiki to support any dark themes (remove it from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=dark, */ /* individual themes are prefixed with .theme- instead */ .view-dark { /********************** * Probably edit these * [ DARK VIEW ] ***********************/ --wiki-body-background-color: #090E16; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (not at the File: page) */ --wiki-content-background-color: #131F30; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #FF6E3C; --wiki-content-link-color: #8CE1F2; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ DARK VIEW ] */ --wiki-accent-color: #FF6E3C; --wiki-accent-label-color: #000; --wiki-accent-link-color: #8CE1F2; --wiki-icon-to-link-filter: invert(60%) sepia(70%) saturate(3715%) hue-rotate(206deg) brightness(101%) contrast(97%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ DARK VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #ededed; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #FC5B4F; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 90%, var(--wiki-accent-label-color)); /* [ DARK VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ DARK VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ DARK VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #ff576a; --wiki-warning-color:#cf721c; --wiki-success-color: #13aa45; /**/ /*********************************** * Likely do not need to edit these * [ DARK VIEW ] ************************************/ --wiki-body-dynamic-color: #ffffff; --wiki-body-dynamic-color--inverted: #000000; --wiki-body-dynamic-color--secondary: #cccccc; --wiki-body-dynamic-color--secondary--inverted: #333333; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #000; --wiki-content-dynamic-color: #ffffff; --wiki-content-dynamic-color--inverted: #000000; --wiki-content-dynamic-color--secondary: #cccccc; --wiki-content-dynamic-color--secondary--inverted: #333333; /* [ DARK VIEW ] */ --wiki-alert-label-color: #000000; --wiki-warning-label-color: #000000; --wiki-success-label-color: #000000; --wiki-icon-general-filter: invert(100%); } /* End dark styles */ /************************************** * Shared styles * * You likely don't need to edit these * ***************************************/ :root{ --wiki-content-text-mix-color: color-mix(in srgb, var(--wiki-content-background-color), var(--wiki-content-text-color) 62%); --wiki-content-text-mix-color-95: color-mix(in srgb, var(--wiki-content-background-color) 95%, var(--wiki-content-text-color)); } /******************** * End shared styles * *********************/ /****************************** * Fallback for older browsers * * DONT EDIT THIS * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .view-dark, .view-light, :root { --wiki-content-text-mix-color: var(--wiki-content-text-color); --wiki-content-text-mix-color-95: var(--wiki-content-background-color); --wiki-content-background-color--secondary: var(--wiki-content-dynamic-color--secondary--inverted); --wiki-content-border-color--secondary: var(--wiki-content-border-color); --wiki-content-border-color--accent: var(--wiki-accent-color); --wiki-accent-color--hover: var(--wiki-accent-color); } } /***************************** * End older browser fallback * ******************************/ /***************************** * PortableInfoboxes * ******************************/ :root { --pi-background: var(--wiki-content-background-color); --pi-secondary-background: var(--wiki-accent-color); --pi-secondary-background-label: var(--wiki-accent-label-color); --pi-border-color: color-mix(in srgb, var(--pi-secondary-background) 50%, transparent); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align:center; font-size:1.5em; background:color-mix(in srgb, var(--pi-secondary-background) 75%, transparent); color:var(--pi-secondary-background-label); } .portable-infobox .pi-data, .portable-infobox .pi-group { background:var(--wiki-content-background-color--secondary); } .portable-infobox .pi-image { padding: 8px; } .pi-image-thumbnail { max-width:100%; } .pi-caption { color: var(--wiki-content-text-mix-color); } .pi-section-navigation .pi-section-tab.pi-section-active, .pi-section-navigation .pi-section-tab.current, .pi-media-collection .pi-tab-link.current { background: var(--pi-secondary-background); color: var(--pi-secondary-background-label); } .pi-collapse > .pi-item:first-child { cursor: pointer; } /* overqualify these to overwrite normal content heading styles */ .mw-body .portable-infobox h2, .mw-body .portable-infobox h3 { border-bottom: 0; font-family: inherit; font-weight: 700; margin: 0; } /***************************** * End PortableInfoboxes * ******************************/ /******************* * Main page layout * ********************/ #mp-container { display:grid; gap:10px; } @media screen and (max-width:990px) { /* for mobile screens */ #mp-container{ grid-template-areas:var(--main-page-layout--mobile); grid-template-columns:var(--main-page-layout-columns--mobile,100%); } .mp-box.mp-hide-on-mobile { display:none; } } @media screen and (min-width:990px) and (max-width:1350px) { /* for narrow screens, between 990px and 1350px */ #mp-container { grid-template-areas:var(--main-page-layout--tablet); grid-template-columns:var(--main-page-layout-columns--tablet,1fr 1fr); } .mp-box.mp-hide-on-tablet { display:none; } } @media screen and (min-width:1350px) { /* for all other screens, 1350px and wider */ #mp-container { grid-template-areas:var(--main-page-layout--desktop); grid-template-columns:var(--main-page-layout-columns--desktop,2fr 1fr 2fr); } .mp-box.mp-hide-on-desktop { display:none; } } .mp-box { position:relative; display:flex; flex-flow:column nowrap; width: calc(100% - 2px); box-sizing: border-box; background:color-mix(in srgb, var(--wiki-content-background-color--secondary) 25%, transparent); border:1px solid var(--wiki-content-border-color); padding:0px; } .mp-body { height: 100%; display: flex; padding:0.5em; flex-flow: column nowrap; } .mp-box.centered-content .mp-body { height: 100%; display: flex; flex-flow: column nowrap; justify-content: space-evenly; } .mp-box.has-floating-image { display:block; } .mp-box.has-floating-image .mp-body { height:unset; display:block; } /* overqualified to override normal heading styles */ .mw-body .mp-box h2 { text-align:center; font-weight:bold; font-family:var(--wiki-heading-font-family); overflow: initial; border-bottom: 1px solid var(--wiki-content-border-color); font-size: 150%; margin: 0; padding: 5px 0; color:var(--wiki-content-heading-color); } #mp-box-welcome { text-align:center; position:relative; overflow:hidden; } #mp-box-welcome h2{ font-size: 200%; } #mp-welcome { display:flex; flex-flow:column nowrap; position: relative; height: 100%; z-index: 2; box-sizing: border-box; } #mp-welcome .welcome-subtitle { height: 100%; background:color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 85%, transparent); padding:0.5em; } #mp-banner { position: absolute; width: 100%; height: 100%; filter: blur(5px); z-index: -1; background: url(/images/e/e0/MP_banner.jpg); background-size: cover; background-repeat: no-repeat; background-position: top center; } .view-dark #mp-banner { filter: blur(5px) brightness(50%); } .view-light #mp-banner { filter: blur(5px) contrast(50%); } /* [[Template:MP_link]] */ .mp-links { --gap:10px; } .mp-links > ul { display: flex; flex-flow: row wrap; justify-content: space-evenly; margin: 2px; gap:var(--gap); } .mp-links > ul > li { display:flex; flex-flow:column nowrap; align-items:stretch; text-align: center; box-sizing:border-box; flex: max(calc(50% - var(--gap)), 5em) 1 1; outline:1px solid var(--wiki-content-link-color); transition:0.1s ease-in; } .mp-links > ul > li:hover { background-color:color-mix(in srgb, var(--wiki-content-link-color) 20%, transparent); } .mp-links.columns-1 > ul > li {flex: max(calc(100% - var(--gap)), 5em) 1 1;} .mp-links.columns-2 > ul > li {flex: max(calc(50% - var(--gap)), 5em) 1 1;} .mp-links.columns-3 > ul > li {flex: max(calc((100% / 3) - var(--gap)), 5em) 1 1;} .mp-links.columns-4 > ul > li {flex: max(calc(25% - var(--gap)), 5em) 1 1;} .mp-links.columns-5 > ul > li {flex: max(calc(20% - var(--gap)), 5em) 1 1;} .mp-links.columns-6 > ul > li {flex: max(calc((100% / 6) - var(--gap)), 5em) 1 1;} .mp-links.columns-7 > ul > li {flex: max(calc((100% / 7) - var(--gap)), 5em) 1 1;} .mp-links.columns-8 > ul > li {flex: max(calc((100% / 8) - var(--gap)), 5em) 1 1;} .mp-links.columns-max > ul > li {flex: max(calc(0% - var(--gap)), 5em) 1 1;} .mp-links > ul > li:hover a { text-decoration: underline; } .mp-links > ul > li > a { display: flex; align-items: center; justify-content: center; height:100%; flex:1 1 auto; box-sizing:border-box; padding:5px; } .mp-links > ul > li > a:first-child { height:100%; } .mp-links > ul > li > a:last-child:not(:first-child) { height:unset; } .mp-links.stretch, .mp-links.stretch > ul { height:100%; } .mp-links.side-image li { flex-flow:row nowrap; } .mp-links.plain > ul > li { outline-color:transparent; } /*********************** * End main page layout * ************************/ /********************************************************************************************************************* * Semantically-correct horizontal lists (for Module:Navbox, and they're more machine-readable than {{*}}-formatting) * **********************************************************************************************************************/ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: */ .hlist dt:not(:last-child)::after { content: ":\20"; } .hlist dd:not(:last-child)::after, .hlist li:not(:last-child)::after { /* "space, Middle Dot, space" We use unicode numbers instead of the raw characters due to a Firefox encoding bug on unicode characters. The space is also encoded because raw spaces combined with a unicode number strips the spaces under some conditions such as single-line lists */ /* content: "\20\00B7\20"; font-weight: bold; */ /* "space &nbsp; • &nbsp; space" There may (and likely) be an extra whitespace between <li>s, therefore we have to use a space character as last character of this sequence. By this way, the last space and the next whitespce will collapse as a single space, to make the whitespace on both sides of the middle dot the same width. */ content: "\20\A0\2022\A0\20"; font-weight: inherit; } /* Add parentheses around nested lists */ .hlist dd ol::before, .hlist dd ul::before, .hlist dd dl::before, .hlist dt ol::before, .hlist dt ul::before, .hlist dt dl::before, .hlist li ol::before, .hlist li ul::before, .hlist li dl::before { content: "\20("; font-weight: inherit; } .hlist dd ol::after, .hlist dd ul::after, .hlist dd dl::after, .hlist dt ol::after, .hlist dt ul::after, .hlist dt dl::after, .hlist li ol::after, .hlist li ul::after, .hlist li dl::after { content: ")"; font-weight: inherit; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) ".\20"; } /* Progressive enhancement: * try to make the dot always follow the list item in same line */ .hlist :is(li,dt,dd):not(:has(:is(li,dt,dd))){ display: inline-block; } /******************************************** * End semantically-correct horizontal lists * *********************************************/ /*** Miscellaneous ***/ .responsive-image { max-width:100%; height:auto; } .view-dark .invert-on-dark, .view-light .invert-on-light { filter:invert(100%); } .pixelated { image-rendering:pixelated; } @media screen and (min-width:720px) { .mobileonly { display:none; } } @media screen and (max-width:720px) { .nomobile { display:none; } } /*** Utility classes for standard MW galleries ***/ /* it's important that spaced comes before centered in the sheet */ .gallery.gallery.gallery.spaced { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */ display:flex; flex-flow:row wrap; justify-content:space-evenly; margin-left:unset; } .gallery.centered { text-align:center; } /************************** * Start Modular Templates * **************************/ /********* [[Template:Ambox]] *********/ .ambox { --ambox-color:var(--wiki-accent-color); border: 1px solid var(--wiki-content-border-color); border-left: 10px solid var(--ambox-color); border-radius: 2px; display: flex; align-items: center; gap: .6em; margin: 1em 0; padding: 3px .6em; background-color: var(--wiki-content-background-color--secondary); box-shadow: 2px 2px 5px 0px #0002; } @media (min-width: 720px) { .ambox { margin-inline: 10%; } } .ambox.tiny { padding: .04rem .5em; margin-inline: 0; width: fit-content; } .ambox + .ambox { margin-top: -.6em; } .ambox-content { flex: 1; } .ambox-content p { margin: .15em 0; } .ambox-title { font-weight: bold; } /********* [[Template:Hatnote]] *********/ .hatnote { padding: 1px 0 1px 1.6em; margin-bottom: 0.5em; font-style: italic; border-top: 1px solid var(--wiki-content-border-color--secondary); border-bottom: 1px solid var(--wiki-content-border-color--secondary); } .hatnote.icon { padding-left: 0; } /********* [[Template:Spoiler]] *********/ .spoiler-content { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 50%, transparent); transition: all 0.3s; cursor: pointer; overflow:auto; } @supports not (color:color-mix(in srgb, #000, transparent)) { .spoiler-content { background-color: var(--wiki-content-dynamic-color--secondary); } } .spoiler-content > * { pointer-events:none; opacity: 0; transition: all 0.3s; } .spoiler-content.show { background-color: transparent; } .spoiler-content.show > * { pointer-events:unset; opacity: 1; } /********* [[Template:Link icon]] *********/ .link-icon { --link-icon-line-height: 1.5em; --link-icon-size: 1.5em; display: inline-flex; align-items: center; height: var(--link-icon-line-height); vertical-align: bottom; } .link-icon .regular { align-self: center; } .link-icon .regular a { display: flex; } .link-icon .regular img { height: var(--link-icon-size); max-width: var(--link-icon-size); } .link-icon .fallback { outline: 1px solid var(--wiki-content-text-color); border-radius: 50%; text-align: center; width: var(--link-icon-size); line-height: var(--link-icon-size); } .link-icon.notext .fallback { display: inline-block; } .link-icon.notext { display: inline; } /********* [[Template:Quote]] *********/ .quote { background: var(--wiki-content-background-color--secondary); border-radius: 5px; border: 2px solid var(--wiki-content-border-color); margin: .5em 0; padding: .5em; overflow-y: hidden; } .quote .block { display: block; } .quote .title { font-size: large; font-weight: bold; } .quote .content { font-style: italic; } .quote .author { font-weight: bold; text-align: end; } .quote .marks-wrapper { display: flex; gap: 5px; } .quote .marks-wrapper::before, .quote .marks-wrapper::after { font-size: 100px; line-height: 0px; } .quote .marks-wrapper::before { content: "\201C"; margin-top: 40px; } .quote .marks-wrapper::after { content: "\201D"; align-self: end; margin-bottom: -10px; } .client-js .mw-charinsert-item { display:none; } /************************ * End Modular Templates * *************************/ /***************************** * Used by [[Template:Color]] * ******************************/ .color__splotch { display:inline-block; height:1em; width:1em; box-sizing:border-box; vertical-align:text-top; border-radius:50%; border:1px solid var(--wiki-content-text-color); } /********************* * End Template:Color * **********************/ 05b72f6e77fefb85a3fe45f0736b5cbb90249277 362 361 2025-06-11T23:59:05Z Daspidy 595608 css text/css /* CSS placed here will be applied to all skins */ :root{ /* start font settings */ --wiki-body-font-family: sans-serif; --wiki-heading-font-family: sans-serif,sans-serif,sans-serif,sans-serif; --wiki-sidebar-heading-font-family: sans-serif; /* end font settings */ /* start design variables */ --wiki-sidebar-border-radius:0px; /* these two variables must have units specified even if 0, ignore the warning */ --wiki-sidebar-portal-spacing:0px; --wiki-content-border-width:3px; --wiki-sidebar-border-width:3px; /* end design variables */ } /* the rest of the variables will modify some type of color, either text color, background color, border color, etc. */ :root, /* Begin light styles, delete from here to "end light styles" if you don't want your wiki to support any light themes (remove from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=light, */ /* individual themes are prefixed with .theme- instead */ .view-light { /********************** * Probably edit these * [ LIGHT VIEW ] ***********************/ --wiki-body-background-color: #F6F6F6; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (click the image from the File: page) */ --wiki-content-background-color: #ffffff; --wiki-content-background-opacity: 70%; --wiki-content-border-color: #6DAFCB; --wiki-content-link-color: #FF6E3C; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ LIGHT VIEW ] */ --wiki-accent-color: #6DAFCB; --wiki-accent-label-color: #ffffff; --wiki-accent-link-color: #FF6E3C; --wiki-icon-to-link-filter: invert(20%) sepia(93%) saturate(2141%) hue-rotate(210deg) brightness(83%) contrast(103%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ LIGHT VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #111111; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #ba0000; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 95%, var(--wiki-accent-label-color)); /* [ LIGHT VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ LIGHT VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ LIGHT VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #bf0017; --wiki-warning-color: #b05f30; --wiki-success-color: #0c742f; /**/ /*********************************** * Likely do not need to edit these * [ LIGHT VIEW ] ************************************/ --wiki-body-dynamic-color: #000000; --wiki-body-dynamic-color--inverted: #ffffff; --wiki-body-dynamic-color--secondary: #333333; --wiki-body-dynamic-color--secondary--inverted: #cccccc; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #ffffff; --wiki-content-dynamic-color: #000000; --wiki-content-dynamic-color--inverted: #ffffff; --wiki-content-dynamic-color--secondary: #333333; --wiki-content-dynamic-color--secondary--inverted: #cccccc; /* [ LIGHT VIEW ] */ --wiki-alert-label-color: #ffffff; --wiki-warning-label-color: #ffffff; --wiki-success-label-color: #ffffff; --wiki-icon-general-filter: ; /* do not set this to none, ignore the "unexpected token" error */ /**/ } /* end light styles */ /* Begin dark styles, delete from here to "end dark styles" if you don't want your wiki to support any dark themes (remove it from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=dark, */ /* individual themes are prefixed with .theme- instead */ .view-dark { /********************** * Probably edit these * [ DARK VIEW ] ***********************/ --wiki-body-background-color: #090E16; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (not at the File: page) */ --wiki-content-background-color: #131F30; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #FF6E3C; --wiki-content-link-color: #8CE1F2; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ DARK VIEW ] */ --wiki-accent-color: #FF6E3C; --wiki-accent-label-color: #000; --wiki-accent-link-color: #8CE1F2; --wiki-icon-to-link-filter: invert(60%) sepia(70%) saturate(3715%) hue-rotate(206deg) brightness(101%) contrast(97%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ DARK VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #ededed; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #FC5B4F; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 90%, var(--wiki-accent-label-color)); /* [ DARK VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ DARK VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ DARK VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #ff576a; --wiki-warning-color:#cf721c; --wiki-success-color: #13aa45; /**/ /*********************************** * Likely do not need to edit these * [ DARK VIEW ] ************************************/ --wiki-body-dynamic-color: #ffffff; --wiki-body-dynamic-color--inverted: #000000; --wiki-body-dynamic-color--secondary: #cccccc; --wiki-body-dynamic-color--secondary--inverted: #333333; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #000; --wiki-content-dynamic-color: #ffffff; --wiki-content-dynamic-color--inverted: #000000; --wiki-content-dynamic-color--secondary: #cccccc; --wiki-content-dynamic-color--secondary--inverted: #333333; /* [ DARK VIEW ] */ --wiki-alert-label-color: #000000; --wiki-warning-label-color: #000000; --wiki-success-label-color: #000000; --wiki-icon-general-filter: invert(100%); } /* End dark styles */ /************************************** * Shared styles * * You likely don't need to edit these * ***************************************/ :root{ --wiki-content-text-mix-color: color-mix(in srgb, var(--wiki-content-background-color), var(--wiki-content-text-color) 62%); --wiki-content-text-mix-color-95: color-mix(in srgb, var(--wiki-content-background-color) 95%, var(--wiki-content-text-color)); } /******************** * End shared styles * *********************/ /****************************** * Fallback for older browsers * * DONT EDIT THIS * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .view-dark, .view-light, :root { --wiki-content-text-mix-color: var(--wiki-content-text-color); --wiki-content-text-mix-color-95: var(--wiki-content-background-color); --wiki-content-background-color--secondary: var(--wiki-content-dynamic-color--secondary--inverted); --wiki-content-border-color--secondary: var(--wiki-content-border-color); --wiki-content-border-color--accent: var(--wiki-accent-color); --wiki-accent-color--hover: var(--wiki-accent-color); } } /***************************** * End older browser fallback * ******************************/ /***************************** * PortableInfoboxes * ******************************/ :root { --pi-background: var(--wiki-content-background-color); --pi-secondary-background: var(--wiki-accent-color); --pi-secondary-background-label: var(--wiki-accent-label-color); --pi-border-color: color-mix(in srgb, var(--pi-secondary-background) 50%, transparent); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align:center; font-size:1.5em; background:color-mix(in srgb, var(--pi-secondary-background) 75%, transparent); color:var(--pi-secondary-background-label); } .portable-infobox .pi-data, .portable-infobox .pi-group { background:var(--wiki-content-background-color--secondary); } .portable-infobox .pi-image { padding: 8px; } .pi-image-thumbnail { max-width:100%; } .pi-caption { color: var(--wiki-content-text-mix-color); } .pi-section-navigation .pi-section-tab.pi-section-active, .pi-section-navigation .pi-section-tab.current, .pi-media-collection .pi-tab-link.current { background: var(--pi-secondary-background); color: var(--pi-secondary-background-label); } .pi-collapse > .pi-item:first-child { cursor: pointer; } /* overqualify these to overwrite normal content heading styles */ .mw-body .portable-infobox h2, .mw-body .portable-infobox h3 { border-bottom: 0; font-family: inherit; font-weight: 700; margin: 0; } /***************************** * End PortableInfoboxes * ******************************/ /******************* * Main page layout * ********************/ #mp-container { display:grid; gap:10px; } @media screen and (max-width:990px) { /* for mobile screens */ #mp-container{ grid-template-areas:var(--main-page-layout--mobile); grid-template-columns:var(--main-page-layout-columns--mobile,100%); } .mp-box.mp-hide-on-mobile { display:none; } } @media screen and (min-width:990px) and (max-width:1350px) { /* for narrow screens, between 990px and 1350px */ #mp-container { grid-template-areas:var(--main-page-layout--tablet); grid-template-columns:var(--main-page-layout-columns--tablet,1fr 1fr); } .mp-box.mp-hide-on-tablet { display:none; } } @media screen and (min-width:1350px) { /* for all other screens, 1350px and wider */ #mp-container { grid-template-areas:var(--main-page-layout--desktop); grid-template-columns:var(--main-page-layout-columns--desktop,2fr 1fr 2fr); } .mp-box.mp-hide-on-desktop { display:none; } } .mp-box { position:relative; display:flex; flex-flow:column nowrap; width: calc(100% - 2px); box-sizing: border-box; background:color-mix(in srgb, var(--wiki-content-background-color--secondary) 25%, transparent); border:1px solid var(--wiki-content-border-color); padding:0px; } .mp-body { height: 100%; display: flex; padding:0.5em; flex-flow: column nowrap; } .mp-box.centered-content .mp-body { height: 100%; display: flex; flex-flow: column nowrap; justify-content: space-evenly; } .mp-box.has-floating-image { display:block; } .mp-box.has-floating-image .mp-body { height:unset; display:block; } /* overqualified to override normal heading styles */ .mw-body .mp-box h2 { text-align:center; font-weight:bold; font-family:var(--wiki-heading-font-family); overflow: initial; border-bottom: 1px solid var(--wiki-content-border-color); font-size: 150%; margin: 0; padding: 5px 0; color:var(--wiki-content-heading-color); } #mp-box-welcome { text-align:center; position:relative; overflow:hidden; } #mp-box-welcome h2{ font-size: 200%; } #mp-welcome { display:flex; flex-flow:column nowrap; position: relative; height: 100%; z-index: 2; box-sizing: border-box; } #mp-welcome .welcome-subtitle { height: 100%; background:color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 85%, transparent); padding:0.5em; } #mp-banner { position: absolute; width: 100%; height: 100%; filter: blur(5px); z-index: -1; background: url(/images/e/e0/MP_banner.jpg); background-size: cover; background-repeat: no-repeat; background-position: top center; } .view-dark #mp-banner { filter: blur(5px) brightness(50%); } .view-light #mp-banner { filter: blur(5px) contrast(50%); } /* [[Template:MP_link]] */ .mp-links { --gap:10px; } .mp-links > ul { display: flex; flex-flow: row wrap; justify-content: space-evenly; margin: 2px; gap:var(--gap); } .mp-links > ul > li { display:flex; flex-flow:column nowrap; align-items:stretch; text-align: center; box-sizing:border-box; flex: max(calc(50% - var(--gap)), 5em) 1 1; outline:1px solid var(--wiki-content-link-color); transition:0.1s ease-in; } .mp-links > ul > li:hover { background-color:color-mix(in srgb, var(--wiki-content-link-color) 20%, transparent); } .mp-links.columns-1 > ul > li {flex: max(calc(100% - var(--gap)), 5em) 1 1;} .mp-links.columns-2 > ul > li {flex: max(calc(50% - var(--gap)), 5em) 1 1;} .mp-links.columns-3 > ul > li {flex: max(calc((100% / 3) - var(--gap)), 5em) 1 1;} .mp-links.columns-4 > ul > li {flex: max(calc(25% - var(--gap)), 5em) 1 1;} .mp-links.columns-5 > ul > li {flex: max(calc(20% - var(--gap)), 5em) 1 1;} .mp-links.columns-6 > ul > li {flex: max(calc((100% / 6) - var(--gap)), 5em) 1 1;} .mp-links.columns-7 > ul > li {flex: max(calc((100% / 7) - var(--gap)), 5em) 1 1;} .mp-links.columns-8 > ul > li {flex: max(calc((100% / 8) - var(--gap)), 5em) 1 1;} .mp-links.columns-max > ul > li {flex: max(calc(0% - var(--gap)), 5em) 1 1;} .mp-links > ul > li:hover a { text-decoration: underline; } .mp-links > ul > li > a { display: flex; align-items: center; justify-content: center; height:100%; flex:1 1 auto; box-sizing:border-box; padding:5px; } .mp-links > ul > li > a:first-child { height:100%; } .mp-links > ul > li > a:last-child:not(:first-child) { height:unset; } .mp-links.stretch, .mp-links.stretch > ul { height:100%; } .mp-links.side-image li { flex-flow:row nowrap; } .mp-links.plain > ul > li { outline-color:transparent; } /*********************** * End main page layout * ************************/ /********************************************************************************************************************* * Semantically-correct horizontal lists (for Module:Navbox, and they're more machine-readable than {{*}}-formatting) * **********************************************************************************************************************/ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: */ .hlist dt:not(:last-child)::after { content: ":\20"; } .hlist dd:not(:last-child)::after, .hlist li:not(:last-child)::after { /* "space, Middle Dot, space" We use unicode numbers instead of the raw characters due to a Firefox encoding bug on unicode characters. The space is also encoded because raw spaces combined with a unicode number strips the spaces under some conditions such as single-line lists */ /* content: "\20\00B7\20"; font-weight: bold; */ /* "space &nbsp; • &nbsp; space" There may (and likely) be an extra whitespace between <li>s, therefore we have to use a space character as last character of this sequence. By this way, the last space and the next whitespce will collapse as a single space, to make the whitespace on both sides of the middle dot the same width. */ content: "\20\A0\2022\A0\20"; font-weight: inherit; } /* Add parentheses around nested lists */ .hlist dd ol::before, .hlist dd ul::before, .hlist dd dl::before, .hlist dt ol::before, .hlist dt ul::before, .hlist dt dl::before, .hlist li ol::before, .hlist li ul::before, .hlist li dl::before { content: "\20("; font-weight: inherit; } .hlist dd ol::after, .hlist dd ul::after, .hlist dd dl::after, .hlist dt ol::after, .hlist dt ul::after, .hlist dt dl::after, .hlist li ol::after, .hlist li ul::after, .hlist li dl::after { content: ")"; font-weight: inherit; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) ".\20"; } /* Progressive enhancement: * try to make the dot always follow the list item in same line */ .hlist :is(li,dt,dd):not(:has(:is(li,dt,dd))){ display: inline-block; } /******************************************** * End semantically-correct horizontal lists * *********************************************/ /*** Miscellaneous ***/ .responsive-image { max-width:100%; height:auto; } .view-dark .invert-on-dark, .view-light .invert-on-light { filter:invert(100%); } .pixelated { image-rendering:pixelated; } @media screen and (min-width:720px) { .mobileonly { display:none; } } @media screen and (max-width:720px) { .nomobile { display:none; } } /*** Utility classes for standard MW galleries ***/ /* it's important that spaced comes before centered in the sheet */ .gallery.gallery.gallery.spaced { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */ display:flex; flex-flow:row wrap; justify-content:space-evenly; margin-left:unset; } .gallery.centered { text-align:center; } /************************** * Start Modular Templates * **************************/ /********* [[Template:Ambox]] *********/ .ambox { --ambox-color:var(--wiki-accent-color); border: 1px solid var(--wiki-content-border-color); border-left: 10px solid var(--ambox-color); border-radius: 2px; display: flex; align-items: center; gap: .6em; margin: 1em 0; padding: 3px .6em; background-color: var(--wiki-content-background-color--secondary); box-shadow: 2px 2px 5px 0px #0002; } @media (min-width: 720px) { .ambox { margin-inline: 10%; } } .ambox.tiny { padding: .04rem .5em; margin-inline: 0; width: fit-content; } .ambox + .ambox { margin-top: -.6em; } .ambox-content { flex: 1; } .ambox-content p { margin: .15em 0; } .ambox-title { font-weight: bold; } /********* [[Template:Hatnote]] *********/ .hatnote { padding: 1px 0 1px 1.6em; margin-bottom: 0.5em; font-style: italic; border-top: 1px solid var(--wiki-content-border-color--secondary); border-bottom: 1px solid var(--wiki-content-border-color--secondary); } .hatnote.icon { padding-left: 0; } /********* [[Template:Spoiler]] *********/ .spoiler-content { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 50%, transparent); transition: all 0.3s; cursor: pointer; overflow:auto; } @supports not (color:color-mix(in srgb, #000, transparent)) { .spoiler-content { background-color: var(--wiki-content-dynamic-color--secondary); } } .spoiler-content > * { pointer-events:none; opacity: 0; transition: all 0.3s; } .spoiler-content.show { background-color: transparent; } .spoiler-content.show > * { pointer-events:unset; opacity: 1; } /********* [[Template:Link icon]] *********/ .link-icon { --link-icon-line-height: 1.5em; --link-icon-size: 1.5em; display: inline-flex; align-items: center; height: var(--link-icon-line-height); vertical-align: bottom; } .link-icon .regular { align-self: center; } .link-icon .regular a { display: flex; } .link-icon .regular img { height: var(--link-icon-size); max-width: var(--link-icon-size); } .link-icon .fallback { outline: 1px solid var(--wiki-content-text-color); border-radius: 50%; text-align: center; width: var(--link-icon-size); line-height: var(--link-icon-size); } .link-icon.notext .fallback { display: inline-block; } .link-icon.notext { display: inline; } /********* [[Template:Quote]] *********/ .quote { background: var(--wiki-content-background-color--secondary); border-radius: 5px; border: 2px solid var(--wiki-content-border-color); margin: .5em 0; padding: .5em; overflow-y: hidden; } .quote .block { display: block; } .quote .title { font-size: large; font-weight: bold; } .quote .content { font-style: italic; } .quote .author { font-weight: bold; text-align: end; } .quote .marks-wrapper { display: flex; gap: 5px; } .quote .marks-wrapper::before, .quote .marks-wrapper::after { font-size: 100px; line-height: 0px; } .quote .marks-wrapper::before { content: "\201C"; margin-top: 40px; } .quote .marks-wrapper::after { content: "\201D"; align-self: end; margin-bottom: -10px; } .client-js .mw-charinsert-item { display:none; } /************************ * End Modular Templates * *************************/ /***************************** * Used by [[Template:Color]] * ******************************/ .color__splotch { display:inline-block; height:1em; width:1em; box-sizing:border-box; vertical-align:text-top; border-radius:50%; border:1px solid var(--wiki-content-text-color); } /********************* * End Template:Color * **********************/ 3f554dd8009bc0b3e358eca2f9611ba6a7b430cf 363 362 2025-06-12T00:00:19Z Daspidy 595608 css text/css /* CSS placed here will be applied to all skins */ :root{ /* start font settings */ --wiki-body-font-family: sans-serif; --wiki-heading-font-family: sans-serif,sans-serif,sans-serif,sans-serif; --wiki-sidebar-heading-font-family: sans-serif; /* end font settings */ /* start design variables */ --wiki-sidebar-border-radius:0px; /* these two variables must have units specified even if 0, ignore the warning */ --wiki-sidebar-portal-spacing:0px; --wiki-content-border-width:3px; --wiki-sidebar-border-width:3px; /* end design variables */ } /* the rest of the variables will modify some type of color, either text color, background color, border color, etc. */ :root, /* Begin light styles, delete from here to "end light styles" if you don't want your wiki to support any light themes (remove from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=light, */ /* individual themes are prefixed with .theme- instead */ .view-light { /********************** * Probably edit these * [ LIGHT VIEW ] ***********************/ --wiki-body-background-color: #F6F6F6; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (click the image from the File: page) */ --wiki-content-background-color: #ffffff; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #6DAFCB; --wiki-content-link-color: #FF6E3C; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ LIGHT VIEW ] */ --wiki-accent-color: #6DAFCB; --wiki-accent-label-color: #ffffff; --wiki-accent-link-color: #FF6E3C; --wiki-icon-to-link-filter: invert(20%) sepia(93%) saturate(2141%) hue-rotate(210deg) brightness(83%) contrast(103%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ LIGHT VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #111111; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #ba0000; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 95%, var(--wiki-accent-label-color)); /* [ LIGHT VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ LIGHT VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ LIGHT VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #bf0017; --wiki-warning-color: #b05f30; --wiki-success-color: #0c742f; /**/ /*********************************** * Likely do not need to edit these * [ LIGHT VIEW ] ************************************/ --wiki-body-dynamic-color: #000000; --wiki-body-dynamic-color--inverted: #ffffff; --wiki-body-dynamic-color--secondary: #333333; --wiki-body-dynamic-color--secondary--inverted: #cccccc; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #ffffff; --wiki-content-dynamic-color: #000000; --wiki-content-dynamic-color--inverted: #ffffff; --wiki-content-dynamic-color--secondary: #333333; --wiki-content-dynamic-color--secondary--inverted: #cccccc; /* [ LIGHT VIEW ] */ --wiki-alert-label-color: #ffffff; --wiki-warning-label-color: #ffffff; --wiki-success-label-color: #ffffff; --wiki-icon-general-filter: ; /* do not set this to none, ignore the "unexpected token" error */ /**/ } /* end light styles */ /* Begin dark styles, delete from here to "end dark styles" if you don't want your wiki to support any dark themes (remove it from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=dark, */ /* individual themes are prefixed with .theme- instead */ .view-dark { /********************** * Probably edit these * [ DARK VIEW ] ***********************/ --wiki-body-background-color: #090E16; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (not at the File: page) */ --wiki-content-background-color: #131F30; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #FF6E3C; --wiki-content-link-color: #8CE1F2; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ DARK VIEW ] */ --wiki-accent-color: #FF6E3C; --wiki-accent-label-color: #000; --wiki-accent-link-color: #8CE1F2; --wiki-icon-to-link-filter: invert(60%) sepia(70%) saturate(3715%) hue-rotate(206deg) brightness(101%) contrast(97%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ DARK VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #ededed; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #FC5B4F; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 90%, var(--wiki-accent-label-color)); /* [ DARK VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ DARK VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ DARK VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #ff576a; --wiki-warning-color:#cf721c; --wiki-success-color: #13aa45; /**/ /*********************************** * Likely do not need to edit these * [ DARK VIEW ] ************************************/ --wiki-body-dynamic-color: #ffffff; --wiki-body-dynamic-color--inverted: #000000; --wiki-body-dynamic-color--secondary: #cccccc; --wiki-body-dynamic-color--secondary--inverted: #333333; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #000; --wiki-content-dynamic-color: #ffffff; --wiki-content-dynamic-color--inverted: #000000; --wiki-content-dynamic-color--secondary: #cccccc; --wiki-content-dynamic-color--secondary--inverted: #333333; /* [ DARK VIEW ] */ --wiki-alert-label-color: #000000; --wiki-warning-label-color: #000000; --wiki-success-label-color: #000000; --wiki-icon-general-filter: invert(100%); } /* End dark styles */ /************************************** * Shared styles * * You likely don't need to edit these * ***************************************/ :root{ --wiki-content-text-mix-color: color-mix(in srgb, var(--wiki-content-background-color), var(--wiki-content-text-color) 62%); --wiki-content-text-mix-color-95: color-mix(in srgb, var(--wiki-content-background-color) 95%, var(--wiki-content-text-color)); } /******************** * End shared styles * *********************/ /****************************** * Fallback for older browsers * * DONT EDIT THIS * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .view-dark, .view-light, :root { --wiki-content-text-mix-color: var(--wiki-content-text-color); --wiki-content-text-mix-color-95: var(--wiki-content-background-color); --wiki-content-background-color--secondary: var(--wiki-content-dynamic-color--secondary--inverted); --wiki-content-border-color--secondary: var(--wiki-content-border-color); --wiki-content-border-color--accent: var(--wiki-accent-color); --wiki-accent-color--hover: var(--wiki-accent-color); } } /***************************** * End older browser fallback * ******************************/ /***************************** * PortableInfoboxes * ******************************/ :root { --pi-background: var(--wiki-content-background-color); --pi-secondary-background: var(--wiki-accent-color); --pi-secondary-background-label: var(--wiki-accent-label-color); --pi-border-color: color-mix(in srgb, var(--pi-secondary-background) 50%, transparent); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align:center; font-size:1.5em; background:color-mix(in srgb, var(--pi-secondary-background) 75%, transparent); color:var(--pi-secondary-background-label); } .portable-infobox .pi-data, .portable-infobox .pi-group { background:var(--wiki-content-background-color--secondary); } .portable-infobox .pi-image { padding: 8px; } .pi-image-thumbnail { max-width:100%; } .pi-caption { color: var(--wiki-content-text-mix-color); } .pi-section-navigation .pi-section-tab.pi-section-active, .pi-section-navigation .pi-section-tab.current, .pi-media-collection .pi-tab-link.current { background: var(--pi-secondary-background); color: var(--pi-secondary-background-label); } .pi-collapse > .pi-item:first-child { cursor: pointer; } /* overqualify these to overwrite normal content heading styles */ .mw-body .portable-infobox h2, .mw-body .portable-infobox h3 { border-bottom: 0; font-family: inherit; font-weight: 700; margin: 0; } /***************************** * End PortableInfoboxes * ******************************/ /******************* * Main page layout * ********************/ #mp-container { display:grid; gap:10px; } @media screen and (max-width:990px) { /* for mobile screens */ #mp-container{ grid-template-areas:var(--main-page-layout--mobile); grid-template-columns:var(--main-page-layout-columns--mobile,100%); } .mp-box.mp-hide-on-mobile { display:none; } } @media screen and (min-width:990px) and (max-width:1350px) { /* for narrow screens, between 990px and 1350px */ #mp-container { grid-template-areas:var(--main-page-layout--tablet); grid-template-columns:var(--main-page-layout-columns--tablet,1fr 1fr); } .mp-box.mp-hide-on-tablet { display:none; } } @media screen and (min-width:1350px) { /* for all other screens, 1350px and wider */ #mp-container { grid-template-areas:var(--main-page-layout--desktop); grid-template-columns:var(--main-page-layout-columns--desktop,2fr 1fr 2fr); } .mp-box.mp-hide-on-desktop { display:none; } } .mp-box { position:relative; display:flex; flex-flow:column nowrap; width: calc(100% - 2px); box-sizing: border-box; background:color-mix(in srgb, var(--wiki-content-background-color--secondary) 25%, transparent); border:1px solid var(--wiki-content-border-color); padding:0px; } .mp-body { height: 100%; display: flex; padding:0.5em; flex-flow: column nowrap; } .mp-box.centered-content .mp-body { height: 100%; display: flex; flex-flow: column nowrap; justify-content: space-evenly; } .mp-box.has-floating-image { display:block; } .mp-box.has-floating-image .mp-body { height:unset; display:block; } /* overqualified to override normal heading styles */ .mw-body .mp-box h2 { text-align:center; font-weight:bold; font-family:var(--wiki-heading-font-family); overflow: initial; border-bottom: 1px solid var(--wiki-content-border-color); font-size: 150%; margin: 0; padding: 5px 0; color:var(--wiki-content-heading-color); } #mp-box-welcome { text-align:center; position:relative; overflow:hidden; } #mp-box-welcome h2{ font-size: 200%; } #mp-welcome { display:flex; flex-flow:column nowrap; position: relative; height: 100%; z-index: 2; box-sizing: border-box; } #mp-welcome .welcome-subtitle { height: 100%; background:color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 85%, transparent); padding:0.5em; } #mp-banner { position: absolute; width: 100%; height: 100%; filter: blur(5px); z-index: -1; background: url(/images/e/e0/MP_banner.jpg); background-size: cover; background-repeat: no-repeat; background-position: top center; } .view-dark #mp-banner { filter: blur(5px) brightness(50%); } .view-light #mp-banner { filter: blur(5px) contrast(50%); } /* [[Template:MP_link]] */ .mp-links { --gap:10px; } .mp-links > ul { display: flex; flex-flow: row wrap; justify-content: space-evenly; margin: 2px; gap:var(--gap); } .mp-links > ul > li { display:flex; flex-flow:column nowrap; align-items:stretch; text-align: center; box-sizing:border-box; flex: max(calc(50% - var(--gap)), 5em) 1 1; outline:1px solid var(--wiki-content-link-color); transition:0.1s ease-in; } .mp-links > ul > li:hover { background-color:color-mix(in srgb, var(--wiki-content-link-color) 20%, transparent); } .mp-links.columns-1 > ul > li {flex: max(calc(100% - var(--gap)), 5em) 1 1;} .mp-links.columns-2 > ul > li {flex: max(calc(50% - var(--gap)), 5em) 1 1;} .mp-links.columns-3 > ul > li {flex: max(calc((100% / 3) - var(--gap)), 5em) 1 1;} .mp-links.columns-4 > ul > li {flex: max(calc(25% - var(--gap)), 5em) 1 1;} .mp-links.columns-5 > ul > li {flex: max(calc(20% - var(--gap)), 5em) 1 1;} .mp-links.columns-6 > ul > li {flex: max(calc((100% / 6) - var(--gap)), 5em) 1 1;} .mp-links.columns-7 > ul > li {flex: max(calc((100% / 7) - var(--gap)), 5em) 1 1;} .mp-links.columns-8 > ul > li {flex: max(calc((100% / 8) - var(--gap)), 5em) 1 1;} .mp-links.columns-max > ul > li {flex: max(calc(0% - var(--gap)), 5em) 1 1;} .mp-links > ul > li:hover a { text-decoration: underline; } .mp-links > ul > li > a { display: flex; align-items: center; justify-content: center; height:100%; flex:1 1 auto; box-sizing:border-box; padding:5px; } .mp-links > ul > li > a:first-child { height:100%; } .mp-links > ul > li > a:last-child:not(:first-child) { height:unset; } .mp-links.stretch, .mp-links.stretch > ul { height:100%; } .mp-links.side-image li { flex-flow:row nowrap; } .mp-links.plain > ul > li { outline-color:transparent; } /*********************** * End main page layout * ************************/ /********************************************************************************************************************* * Semantically-correct horizontal lists (for Module:Navbox, and they're more machine-readable than {{*}}-formatting) * **********************************************************************************************************************/ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: */ .hlist dt:not(:last-child)::after { content: ":\20"; } .hlist dd:not(:last-child)::after, .hlist li:not(:last-child)::after { /* "space, Middle Dot, space" We use unicode numbers instead of the raw characters due to a Firefox encoding bug on unicode characters. The space is also encoded because raw spaces combined with a unicode number strips the spaces under some conditions such as single-line lists */ /* content: "\20\00B7\20"; font-weight: bold; */ /* "space &nbsp; • &nbsp; space" There may (and likely) be an extra whitespace between <li>s, therefore we have to use a space character as last character of this sequence. By this way, the last space and the next whitespce will collapse as a single space, to make the whitespace on both sides of the middle dot the same width. */ content: "\20\A0\2022\A0\20"; font-weight: inherit; } /* Add parentheses around nested lists */ .hlist dd ol::before, .hlist dd ul::before, .hlist dd dl::before, .hlist dt ol::before, .hlist dt ul::before, .hlist dt dl::before, .hlist li ol::before, .hlist li ul::before, .hlist li dl::before { content: "\20("; font-weight: inherit; } .hlist dd ol::after, .hlist dd ul::after, .hlist dd dl::after, .hlist dt ol::after, .hlist dt ul::after, .hlist dt dl::after, .hlist li ol::after, .hlist li ul::after, .hlist li dl::after { content: ")"; font-weight: inherit; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) ".\20"; } /* Progressive enhancement: * try to make the dot always follow the list item in same line */ .hlist :is(li,dt,dd):not(:has(:is(li,dt,dd))){ display: inline-block; } /******************************************** * End semantically-correct horizontal lists * *********************************************/ /*** Miscellaneous ***/ .responsive-image { max-width:100%; height:auto; } .view-dark .invert-on-dark, .view-light .invert-on-light { filter:invert(100%); } .pixelated { image-rendering:pixelated; } @media screen and (min-width:720px) { .mobileonly { display:none; } } @media screen and (max-width:720px) { .nomobile { display:none; } } /*** Utility classes for standard MW galleries ***/ /* it's important that spaced comes before centered in the sheet */ .gallery.gallery.gallery.spaced { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */ display:flex; flex-flow:row wrap; justify-content:space-evenly; margin-left:unset; } .gallery.centered { text-align:center; } /************************** * Start Modular Templates * **************************/ /********* [[Template:Ambox]] *********/ .ambox { --ambox-color:var(--wiki-accent-color); border: 1px solid var(--wiki-content-border-color); border-left: 10px solid var(--ambox-color); border-radius: 2px; display: flex; align-items: center; gap: .6em; margin: 1em 0; padding: 3px .6em; background-color: var(--wiki-content-background-color--secondary); box-shadow: 2px 2px 5px 0px #0002; } @media (min-width: 720px) { .ambox { margin-inline: 10%; } } .ambox.tiny { padding: .04rem .5em; margin-inline: 0; width: fit-content; } .ambox + .ambox { margin-top: -.6em; } .ambox-content { flex: 1; } .ambox-content p { margin: .15em 0; } .ambox-title { font-weight: bold; } /********* [[Template:Hatnote]] *********/ .hatnote { padding: 1px 0 1px 1.6em; margin-bottom: 0.5em; font-style: italic; border-top: 1px solid var(--wiki-content-border-color--secondary); border-bottom: 1px solid var(--wiki-content-border-color--secondary); } .hatnote.icon { padding-left: 0; } /********* [[Template:Spoiler]] *********/ .spoiler-content { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 50%, transparent); transition: all 0.3s; cursor: pointer; overflow:auto; } @supports not (color:color-mix(in srgb, #000, transparent)) { .spoiler-content { background-color: var(--wiki-content-dynamic-color--secondary); } } .spoiler-content > * { pointer-events:none; opacity: 0; transition: all 0.3s; } .spoiler-content.show { background-color: transparent; } .spoiler-content.show > * { pointer-events:unset; opacity: 1; } /********* [[Template:Link icon]] *********/ .link-icon { --link-icon-line-height: 1.5em; --link-icon-size: 1.5em; display: inline-flex; align-items: center; height: var(--link-icon-line-height); vertical-align: bottom; } .link-icon .regular { align-self: center; } .link-icon .regular a { display: flex; } .link-icon .regular img { height: var(--link-icon-size); max-width: var(--link-icon-size); } .link-icon .fallback { outline: 1px solid var(--wiki-content-text-color); border-radius: 50%; text-align: center; width: var(--link-icon-size); line-height: var(--link-icon-size); } .link-icon.notext .fallback { display: inline-block; } .link-icon.notext { display: inline; } /********* [[Template:Quote]] *********/ .quote { background: var(--wiki-content-background-color--secondary); border-radius: 5px; border: 2px solid var(--wiki-content-border-color); margin: .5em 0; padding: .5em; overflow-y: hidden; } .quote .block { display: block; } .quote .title { font-size: large; font-weight: bold; } .quote .content { font-style: italic; } .quote .author { font-weight: bold; text-align: end; } .quote .marks-wrapper { display: flex; gap: 5px; } .quote .marks-wrapper::before, .quote .marks-wrapper::after { font-size: 100px; line-height: 0px; } .quote .marks-wrapper::before { content: "\201C"; margin-top: 40px; } .quote .marks-wrapper::after { content: "\201D"; align-self: end; margin-bottom: -10px; } .client-js .mw-charinsert-item { display:none; } /************************ * End Modular Templates * *************************/ /***************************** * Used by [[Template:Color]] * ******************************/ .color__splotch { display:inline-block; height:1em; width:1em; box-sizing:border-box; vertical-align:text-top; border-radius:50%; border:1px solid var(--wiki-content-text-color); } /********************* * End Template:Color * **********************/ 803d292744f09681d379a555d5adb11c4923efb4 364 363 2025-06-12T00:03:22Z Daspidy 595608 css text/css /* CSS placed here will be applied to all skins */ :root{ /* start font settings */ --wiki-body-font-family: sans-serif; --wiki-heading-font-family: sans-serif,sans-serif,sans-serif,sans-serif; --wiki-sidebar-heading-font-family: sans-serif; /* end font settings */ /* start design variables */ --wiki-sidebar-border-radius:0px; /* these two variables must have units specified even if 0, ignore the warning */ --wiki-sidebar-portal-spacing:0px; --wiki-content-border-width:3px; --wiki-sidebar-border-width:3px; /* end design variables */ } /* the rest of the variables will modify some type of color, either text color, background color, border color, etc. */ :root, /* Begin light styles, delete from here to "end light styles" if you don't want your wiki to support any light themes (remove from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=light, */ /* individual themes are prefixed with .theme- instead */ .view-light { /********************** * Probably edit these * [ LIGHT VIEW ] ***********************/ --wiki-body-background-color: #F6F6F6; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (click the image from the File: page) */ --wiki-content-background-color: #B9E5EA; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #FF6E3C; --wiki-content-link-color: #0050FF; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ LIGHT VIEW ] */ --wiki-accent-color: #FF6E3C; --wiki-accent-label-color: #ffffff; --wiki-accent-link-color: #0050FF; --wiki-icon-to-link-filter: invert(20%) sepia(93%) saturate(2141%) hue-rotate(210deg) brightness(83%) contrast(103%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ LIGHT VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #111111; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #ba0000; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 95%, var(--wiki-accent-label-color)); /* [ LIGHT VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ LIGHT VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ LIGHT VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #bf0017; --wiki-warning-color: #b05f30; --wiki-success-color: #0c742f; /**/ /*********************************** * Likely do not need to edit these * [ LIGHT VIEW ] ************************************/ --wiki-body-dynamic-color: #000000; --wiki-body-dynamic-color--inverted: #ffffff; --wiki-body-dynamic-color--secondary: #333333; --wiki-body-dynamic-color--secondary--inverted: #cccccc; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #ffffff; --wiki-content-dynamic-color: #000000; --wiki-content-dynamic-color--inverted: #ffffff; --wiki-content-dynamic-color--secondary: #333333; --wiki-content-dynamic-color--secondary--inverted: #cccccc; /* [ LIGHT VIEW ] */ --wiki-alert-label-color: #ffffff; --wiki-warning-label-color: #ffffff; --wiki-success-label-color: #ffffff; --wiki-icon-general-filter: ; /* do not set this to none, ignore the "unexpected token" error */ /**/ } /* end light styles */ /* Begin dark styles, delete from here to "end dark styles" if you don't want your wiki to support any dark themes (remove it from [[Mediawiki:Theme-definitions]] too, or ask wiki.gg staff for help doing this) */ /* FYI: .view- will affect any theme marked |kind=dark, */ /* individual themes are prefixed with .theme- instead */ .view-dark { /********************** * Probably edit these * [ DARK VIEW ] ***********************/ --wiki-body-background-color: #090E16; --wiki-body-background-image: url(/images/1/1c/BackgroundimageV1.jpg?fb30c7); /* please find the file path by viewing the image directly (not at the File: page) */ --wiki-content-background-color: #131F30; --wiki-content-background-opacity: 90%; --wiki-content-border-color: #FF6E3C; --wiki-content-link-color: #8CE1F2; /* if changing this, remember to change --wiki-icon-to-link-filter as well!!! */ /* [ DARK VIEW ] */ --wiki-accent-color: #FF6E3C; --wiki-accent-label-color: #000; --wiki-accent-link-color: #8CE1F2; --wiki-icon-to-link-filter: invert(60%) sepia(70%) saturate(3715%) hue-rotate(206deg) brightness(101%) contrast(97%); /* put your --wiki-content-link-color into https://mrpie5.gitlab.io/css-filter-generator/ */ /**/ /******************* * Maybe edit these * [ DARK VIEW ] ********************/ --wiki-body-background-position: top center; --wiki-body-background-size:cover; --wiki-body-background-repeat: no-repeat; --wiki-body-background-attachment: fixed; --wiki-content-background-color--secondary: color-mix(in srgb, var(--wiki-content-background-color) 96%, var(--wiki-content-dynamic-color)); --wiki-content-text-color: #ededed; --wiki-content-link-color--visited: var(--wiki-content-link-color); --wiki-content-link-color--hover: var(--wiki-content-link-color); --wiki-content-redlink-color: #FC5B4F; --wiki-content-heading-color: var(--wiki-content-text-color); --wiki-accent-color--hover: color-mix(in srgb, var(--wiki-accent-color) 90%, var(--wiki-accent-label-color)); /* [ DARK VIEW ] */ --wiki-sidebar-background-color: var(--wiki-content-background-color); --wiki-sidebar-background-opacity: var(--wiki-content-background-opacity); --wiki-sidebar-border-color: var(--wiki-content-border-color); --wiki-sidebar-link-color: var(--wiki-content-link-color); --wiki-sidebar-link-color--hover: var(--wiki-content-link-color--hover); --wiki-sidebar-heading-color: var(--wiki-content-heading-color); /* [ DARK VIEW ] */ --wiki-navigation-background-color: var(--wiki-content-background-color--secondary); --wiki-navigation-background-color--secondary: var(--wiki-content-background-color); --wiki-navigation-border-color: var(--wiki-content-border-color); --wiki-navigation-text-color: var(--wiki-content-link-color); --wiki-navigation-text-color--hover: var(--wiki-content-link-color--hover); --wiki-navigation-selected-background-color: var(--wiki-content-background-color); --wiki-navigation-selected-border-color: var(--wiki-navigation-border-color); --wiki-navigation-selected-text-color: var(--wiki-content-text-color); /* [ DARK VIEW ] */ --wiki-neutral-color: var(--wiki-content-text-mix-color); --wiki-alert-color: #ff576a; --wiki-warning-color:#cf721c; --wiki-success-color: #13aa45; /**/ /*********************************** * Likely do not need to edit these * [ DARK VIEW ] ************************************/ --wiki-body-dynamic-color: #ffffff; --wiki-body-dynamic-color--inverted: #000000; --wiki-body-dynamic-color--secondary: #cccccc; --wiki-body-dynamic-color--secondary--inverted: #333333; --wiki-content-border-color--secondary: color-mix(in srgb, var(--wiki-content-border-color) 50%, transparent); --wiki-content-border-color--accent: color-mix(in srgb, var(--wiki-accent-color) 50%, transparent); --wiki-content-link-label-color: #000; --wiki-content-dynamic-color: #ffffff; --wiki-content-dynamic-color--inverted: #000000; --wiki-content-dynamic-color--secondary: #cccccc; --wiki-content-dynamic-color--secondary--inverted: #333333; /* [ DARK VIEW ] */ --wiki-alert-label-color: #000000; --wiki-warning-label-color: #000000; --wiki-success-label-color: #000000; --wiki-icon-general-filter: invert(100%); } /* End dark styles */ /************************************** * Shared styles * * You likely don't need to edit these * ***************************************/ :root{ --wiki-content-text-mix-color: color-mix(in srgb, var(--wiki-content-background-color), var(--wiki-content-text-color) 62%); --wiki-content-text-mix-color-95: color-mix(in srgb, var(--wiki-content-background-color) 95%, var(--wiki-content-text-color)); } /******************** * End shared styles * *********************/ /****************************** * Fallback for older browsers * * DONT EDIT THIS * *******************************/ @supports not (color:color-mix(in srgb, #000, transparent)) { .view-dark, .view-light, :root { --wiki-content-text-mix-color: var(--wiki-content-text-color); --wiki-content-text-mix-color-95: var(--wiki-content-background-color); --wiki-content-background-color--secondary: var(--wiki-content-dynamic-color--secondary--inverted); --wiki-content-border-color--secondary: var(--wiki-content-border-color); --wiki-content-border-color--accent: var(--wiki-accent-color); --wiki-accent-color--hover: var(--wiki-accent-color); } } /***************************** * End older browser fallback * ******************************/ /***************************** * PortableInfoboxes * ******************************/ :root { --pi-background: var(--wiki-content-background-color); --pi-secondary-background: var(--wiki-accent-color); --pi-secondary-background-label: var(--wiki-accent-label-color); --pi-border-color: color-mix(in srgb, var(--pi-secondary-background) 50%, transparent); } .portable-infobox .pi-title, .portable-infobox .pi-header { text-align:center; font-size:1.5em; background:color-mix(in srgb, var(--pi-secondary-background) 75%, transparent); color:var(--pi-secondary-background-label); } .portable-infobox .pi-data, .portable-infobox .pi-group { background:var(--wiki-content-background-color--secondary); } .portable-infobox .pi-image { padding: 8px; } .pi-image-thumbnail { max-width:100%; } .pi-caption { color: var(--wiki-content-text-mix-color); } .pi-section-navigation .pi-section-tab.pi-section-active, .pi-section-navigation .pi-section-tab.current, .pi-media-collection .pi-tab-link.current { background: var(--pi-secondary-background); color: var(--pi-secondary-background-label); } .pi-collapse > .pi-item:first-child { cursor: pointer; } /* overqualify these to overwrite normal content heading styles */ .mw-body .portable-infobox h2, .mw-body .portable-infobox h3 { border-bottom: 0; font-family: inherit; font-weight: 700; margin: 0; } /***************************** * End PortableInfoboxes * ******************************/ /******************* * Main page layout * ********************/ #mp-container { display:grid; gap:10px; } @media screen and (max-width:990px) { /* for mobile screens */ #mp-container{ grid-template-areas:var(--main-page-layout--mobile); grid-template-columns:var(--main-page-layout-columns--mobile,100%); } .mp-box.mp-hide-on-mobile { display:none; } } @media screen and (min-width:990px) and (max-width:1350px) { /* for narrow screens, between 990px and 1350px */ #mp-container { grid-template-areas:var(--main-page-layout--tablet); grid-template-columns:var(--main-page-layout-columns--tablet,1fr 1fr); } .mp-box.mp-hide-on-tablet { display:none; } } @media screen and (min-width:1350px) { /* for all other screens, 1350px and wider */ #mp-container { grid-template-areas:var(--main-page-layout--desktop); grid-template-columns:var(--main-page-layout-columns--desktop,2fr 1fr 2fr); } .mp-box.mp-hide-on-desktop { display:none; } } .mp-box { position:relative; display:flex; flex-flow:column nowrap; width: calc(100% - 2px); box-sizing: border-box; background:color-mix(in srgb, var(--wiki-content-background-color--secondary) 25%, transparent); border:1px solid var(--wiki-content-border-color); padding:0px; } .mp-body { height: 100%; display: flex; padding:0.5em; flex-flow: column nowrap; } .mp-box.centered-content .mp-body { height: 100%; display: flex; flex-flow: column nowrap; justify-content: space-evenly; } .mp-box.has-floating-image { display:block; } .mp-box.has-floating-image .mp-body { height:unset; display:block; } /* overqualified to override normal heading styles */ .mw-body .mp-box h2 { text-align:center; font-weight:bold; font-family:var(--wiki-heading-font-family); overflow: initial; border-bottom: 1px solid var(--wiki-content-border-color); font-size: 150%; margin: 0; padding: 5px 0; color:var(--wiki-content-heading-color); } #mp-box-welcome { text-align:center; position:relative; overflow:hidden; } #mp-box-welcome h2{ font-size: 200%; } #mp-welcome { display:flex; flex-flow:column nowrap; position: relative; height: 100%; z-index: 2; box-sizing: border-box; } #mp-welcome .welcome-subtitle { height: 100%; background:color-mix(in srgb, var(--wiki-content-dynamic-color--inverted) 85%, transparent); padding:0.5em; } #mp-banner { position: absolute; width: 100%; height: 100%; filter: blur(5px); z-index: -1; background: url(/images/e/e0/MP_banner.jpg); background-size: cover; background-repeat: no-repeat; background-position: top center; } .view-dark #mp-banner { filter: blur(5px) brightness(50%); } .view-light #mp-banner { filter: blur(5px) contrast(50%); } /* [[Template:MP_link]] */ .mp-links { --gap:10px; } .mp-links > ul { display: flex; flex-flow: row wrap; justify-content: space-evenly; margin: 2px; gap:var(--gap); } .mp-links > ul > li { display:flex; flex-flow:column nowrap; align-items:stretch; text-align: center; box-sizing:border-box; flex: max(calc(50% - var(--gap)), 5em) 1 1; outline:1px solid var(--wiki-content-link-color); transition:0.1s ease-in; } .mp-links > ul > li:hover { background-color:color-mix(in srgb, var(--wiki-content-link-color) 20%, transparent); } .mp-links.columns-1 > ul > li {flex: max(calc(100% - var(--gap)), 5em) 1 1;} .mp-links.columns-2 > ul > li {flex: max(calc(50% - var(--gap)), 5em) 1 1;} .mp-links.columns-3 > ul > li {flex: max(calc((100% / 3) - var(--gap)), 5em) 1 1;} .mp-links.columns-4 > ul > li {flex: max(calc(25% - var(--gap)), 5em) 1 1;} .mp-links.columns-5 > ul > li {flex: max(calc(20% - var(--gap)), 5em) 1 1;} .mp-links.columns-6 > ul > li {flex: max(calc((100% / 6) - var(--gap)), 5em) 1 1;} .mp-links.columns-7 > ul > li {flex: max(calc((100% / 7) - var(--gap)), 5em) 1 1;} .mp-links.columns-8 > ul > li {flex: max(calc((100% / 8) - var(--gap)), 5em) 1 1;} .mp-links.columns-max > ul > li {flex: max(calc(0% - var(--gap)), 5em) 1 1;} .mp-links > ul > li:hover a { text-decoration: underline; } .mp-links > ul > li > a { display: flex; align-items: center; justify-content: center; height:100%; flex:1 1 auto; box-sizing:border-box; padding:5px; } .mp-links > ul > li > a:first-child { height:100%; } .mp-links > ul > li > a:last-child:not(:first-child) { height:unset; } .mp-links.stretch, .mp-links.stretch > ul { height:100%; } .mp-links.side-image li { flex-flow:row nowrap; } .mp-links.plain > ul > li { outline-color:transparent; } /*********************** * End main page layout * ************************/ /********************************************************************************************************************* * Semantically-correct horizontal lists (for Module:Navbox, and they're more machine-readable than {{*}}-formatting) * **********************************************************************************************************************/ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: */ .hlist dt:not(:last-child)::after { content: ":\20"; } .hlist dd:not(:last-child)::after, .hlist li:not(:last-child)::after { /* "space, Middle Dot, space" We use unicode numbers instead of the raw characters due to a Firefox encoding bug on unicode characters. The space is also encoded because raw spaces combined with a unicode number strips the spaces under some conditions such as single-line lists */ /* content: "\20\00B7\20"; font-weight: bold; */ /* "space &nbsp; • &nbsp; space" There may (and likely) be an extra whitespace between <li>s, therefore we have to use a space character as last character of this sequence. By this way, the last space and the next whitespce will collapse as a single space, to make the whitespace on both sides of the middle dot the same width. */ content: "\20\A0\2022\A0\20"; font-weight: inherit; } /* Add parentheses around nested lists */ .hlist dd ol::before, .hlist dd ul::before, .hlist dd dl::before, .hlist dt ol::before, .hlist dt ul::before, .hlist dt dl::before, .hlist li ol::before, .hlist li ul::before, .hlist li dl::before { content: "\20("; font-weight: inherit; } .hlist dd ol::after, .hlist dd ul::after, .hlist dd dl::after, .hlist dt ol::after, .hlist dt ul::after, .hlist dt dl::after, .hlist li ol::after, .hlist li ul::after, .hlist li dl::after { content: ")"; font-weight: inherit; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) ".\20"; } /* Progressive enhancement: * try to make the dot always follow the list item in same line */ .hlist :is(li,dt,dd):not(:has(:is(li,dt,dd))){ display: inline-block; } /******************************************** * End semantically-correct horizontal lists * *********************************************/ /*** Miscellaneous ***/ .responsive-image { max-width:100%; height:auto; } .view-dark .invert-on-dark, .view-light .invert-on-light { filter:invert(100%); } .pixelated { image-rendering:pixelated; } @media screen and (min-width:720px) { .mobileonly { display:none; } } @media screen and (max-width:720px) { .nomobile { display:none; } } /*** Utility classes for standard MW galleries ***/ /* it's important that spaced comes before centered in the sheet */ .gallery.gallery.gallery.spaced { /* this selector looks ridiculous but is actually part of stock Vector and therefore a necessary override */ display:flex; flex-flow:row wrap; justify-content:space-evenly; margin-left:unset; } .gallery.centered { text-align:center; } /************************** * Start Modular Templates * **************************/ /********* [[Template:Ambox]] *********/ .ambox { --ambox-color:var(--wiki-accent-color); border: 1px solid var(--wiki-content-border-color); border-left: 10px solid var(--ambox-color); border-radius: 2px; display: flex; align-items: center; gap: .6em; margin: 1em 0; padding: 3px .6em; background-color: var(--wiki-content-background-color--secondary); box-shadow: 2px 2px 5px 0px #0002; } @media (min-width: 720px) { .ambox { margin-inline: 10%; } } .ambox.tiny { padding: .04rem .5em; margin-inline: 0; width: fit-content; } .ambox + .ambox { margin-top: -.6em; } .ambox-content { flex: 1; } .ambox-content p { margin: .15em 0; } .ambox-title { font-weight: bold; } /********* [[Template:Hatnote]] *********/ .hatnote { padding: 1px 0 1px 1.6em; margin-bottom: 0.5em; font-style: italic; border-top: 1px solid var(--wiki-content-border-color--secondary); border-bottom: 1px solid var(--wiki-content-border-color--secondary); } .hatnote.icon { padding-left: 0; } /********* [[Template:Spoiler]] *********/ .spoiler-content { background-color: color-mix(in srgb, var(--wiki-content-dynamic-color) 50%, transparent); transition: all 0.3s; cursor: pointer; overflow:auto; } @supports not (color:color-mix(in srgb, #000, transparent)) { .spoiler-content { background-color: var(--wiki-content-dynamic-color--secondary); } } .spoiler-content > * { pointer-events:none; opacity: 0; transition: all 0.3s; } .spoiler-content.show { background-color: transparent; } .spoiler-content.show > * { pointer-events:unset; opacity: 1; } /********* [[Template:Link icon]] *********/ .link-icon { --link-icon-line-height: 1.5em; --link-icon-size: 1.5em; display: inline-flex; align-items: center; height: var(--link-icon-line-height); vertical-align: bottom; } .link-icon .regular { align-self: center; } .link-icon .regular a { display: flex; } .link-icon .regular img { height: var(--link-icon-size); max-width: var(--link-icon-size); } .link-icon .fallback { outline: 1px solid var(--wiki-content-text-color); border-radius: 50%; text-align: center; width: var(--link-icon-size); line-height: var(--link-icon-size); } .link-icon.notext .fallback { display: inline-block; } .link-icon.notext { display: inline; } /********* [[Template:Quote]] *********/ .quote { background: var(--wiki-content-background-color--secondary); border-radius: 5px; border: 2px solid var(--wiki-content-border-color); margin: .5em 0; padding: .5em; overflow-y: hidden; } .quote .block { display: block; } .quote .title { font-size: large; font-weight: bold; } .quote .content { font-style: italic; } .quote .author { font-weight: bold; text-align: end; } .quote .marks-wrapper { display: flex; gap: 5px; } .quote .marks-wrapper::before, .quote .marks-wrapper::after { font-size: 100px; line-height: 0px; } .quote .marks-wrapper::before { content: "\201C"; margin-top: 40px; } .quote .marks-wrapper::after { content: "\201D"; align-self: end; margin-bottom: -10px; } .client-js .mw-charinsert-item { display:none; } /************************ * End Modular Templates * *************************/ /***************************** * Used by [[Template:Color]] * ******************************/ .color__splotch { display:inline-block; height:1em; width:1em; box-sizing:border-box; vertical-align:text-top; border-radius:50%; border:1px solid var(--wiki-content-text-color); } /********************* * End Template:Color * **********************/ f60a570233a20fc304946cdbfbcaed3b6dfff356 MediaWiki:Sidebar 8 277 357 306 2025-06-11T22:37:14Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * sidebar-customizing-wiki ** MediaWiki:Sidebar|sidebar-edit-sidebar ** MediaWiki:Common.css|sidebar-edit-common-css ** MediaWiki:Vector.css|sidebar-edit-vector-css ** MediaWiki:Common.js|sidebar-edit-common-js ** MediaWiki:Vector.js|sidebar-edit-vector-js ** Special:AllPages|sidebar-all-pages ** Special:SpecialPages|sidebar-special-pages * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * wiki.gg ** support:|sidebar-support-wiki ** Wikigg-ticket-link|sidebar-submit-ticket ** wikigg-socialmedia-joinlink|wikigg-socialmedia-jointext-sidebar 93c02926a6123bde36f33e0df225e52f11224be0 358 357 2025-06-11T22:40:25Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Miscellaneous ** Revenge of the Savage Planet Wiki/external|External Links * wiki.gg ** support:|sidebar-support-wiki ** Wikigg-ticket-link|sidebar-submit-ticket ** wikigg-socialmedia-joinlink|wikigg-socialmedia-jointext-sidebar a4633a012b639eaad59a4d639a359bfae54c1032 366 358 2025-06-12T00:05:55Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Miscellaneous ** Revenge of the Savage Planet Wiki/external|External links * wiki.gg ** support:|sidebar-support-wiki ** Wikigg-ticket-link|sidebar-submit-ticket ** wikigg-socialmedia-joinlink|wikigg-socialmedia-jointext-sidebar d522f1fff76e271d5b4485527e9f0691927e9361 367 366 2025-06-12T00:18:39Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Collectibles ** Kindex|Kindex ** Resources|Resources ** Tools & Abilities|Tools & Abilities ** Habitat Decor|Habitat Decor * World ** Fauna|Fauna ** Missions|Missions ** Characters|Characters ** Bosses|Bosses * Miscellaneous ** Revenge of the Savage Planet Wiki/external|External links ** Downloadable Content|Downloadable Content * wiki.gg ** support:|sidebar-support-wiki ** Wikigg-ticket-link|sidebar-submit-ticket ** wikigg-socialmedia-joinlink|wikigg-socialmedia-jointext-sidebar fc6a7c169f22e5b0b3e47bf076dbf35ef6b02cb7 368 367 2025-06-12T00:19:11Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Collectibles ** Kindex|Kindex ** Resources|Resources ** Tools & Abilities|Tools & Abilities ** Habitat Decor|Habitat Decor * World ** Fauna|Fauna ** Missions|Missions ** Characters|Characters ** Bosses|Bosses * Miscellaneous ** Revenge of the Savage Planet Wiki/external|External links ** Downloadable Content|Downloadable Content 9bae1af443425df5208342212666d70784a113f5 369 368 2025-06-12T00:29:10Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Collectibles ** Kindex|Kindex ** Resources|Resources ** Tools & Abilities|Tools & Abilities ** Habitat Decor|Habitat Decor * Gameplay ** Fauna|Fauna ** Missions|Missions ** Characters|Characters ** Bosses|Bosses * Miscellaneous ** Revenge of the Savage Planet Wiki/external|External links ** Downloadable Content|Downloadable Content 30c35ecbd4ebe6503862bb0723a4f9dc9b4c80fb 383 369 2025-06-12T02:54:57Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Collectibles ** Kindex|Kindex ** Resources|Resources ** Tools & Abilities|Tools & Abilities ** Habitat Decor|Habitat Decor ** Outfits|Outfits * Gameplay ** Fauna|Fauna ** Missions|Missions ** Characters|Characters ** Bosses|Bosses * Miscellaneous ** Revenge of the Savage Planet Wiki/external|External links ** Downloadable Content|Downloadable Content 447a8b7a6d0ff1ab439855aaefd712adc38b7648 400 383 2025-06-16T18:42:57Z Daspidy 595608 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki * Planets ** Stellaris Prime|Stellaris Prime ** Xephyr|Xephyr ** Zenithian Rift|Zenithian Rift ** Quasadron IX|Quasadron IX ** Slappi's Den of Fun|Slappi's Den of Fun * Collectibles ** Kindex|Kindex ** Resources|Resources ** Tools & Abilities|Tools & Abilities ** Home DKO|Home DKO ** Outfits|Outfits * Gameplay ** Fauna|Fauna ** Missions|Missions ** Characters|Characters ** Bosses|Bosses * Miscellaneous ** Revenge of the Savage Planet Wiki/external|External links ** Downloadable Content|Downloadable Content c64969d33c404dfaa87858e2082bbda44796871c File:BackgroundimageV1.jpg 6 301 360 2025-06-11T23:51:43Z Daspidy 595608 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Revenge of the Savage Planet Wiki/about 0 6 365 302 2025-06-12T00:05:14Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = About Revenge of the Savage Planet }} Revenge of the Savage Planet is a third-person sci-fi comedy action-adventure with Metroidvania elements by Raccoon Logic, capable of play in either singleplayer or two player co-op! <div style="text-align:right">[[Revenge of the Savage Planet|Read more...]]</div> {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> edfa433beb94a03b0ffa3d643a4af0ae9114a92f File:Missionicon.png 6 302 370 2025-06-12T00:54:11Z Daspidy 595608 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Resourcesicon.png 6 303 372 2025-06-12T01:01:35Z Daspidy 595608 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Bossesicon.png 6 304 373 2025-06-12T01:06:36Z Daspidy 595608 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Mechaslappi.png 6 305 375 2025-06-12T02:21:41Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b File:Clawbarella.png 6 306 376 2025-06-12T02:21:41Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b File:Wormzilla.png 6 307 377 2025-06-12T02:21:42Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} ff80197b64d07b05261211e62dd3fda3a667d65b Bosses 0 308 378 2025-06-12T02:24:49Z Daspidy 595608 Created page with "There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own respective challenge. <div class="mp-links columns-2"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=92px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=92px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=Cyberwardrill.png|size=92px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=92px}} </div>" wikitext text/x-wiki There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own respective challenge. <div class="mp-links columns-2"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=92px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=92px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=Cyberwardrill.png|size=92px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=92px}} </div> 681c45882f7ed9b9ac67c376129bae85424d1c3a 380 378 2025-06-12T02:52:11Z Daspidy 595608 wikitext text/x-wiki There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own respective challenge. <div class="mp-links columns-4"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=92px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=92px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=CyberWardrill.png|size=92px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=92px}} </div> 62a8241b5877b2f6d4a2fbbeec2fa5de7f340f7d 381 380 2025-06-12T02:53:29Z Daspidy 595608 wikitext text/x-wiki There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own respective challenge. <div class="mp-links columns-2"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=92px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=92px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=CyberWardrill.png|size=92px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=92px}} </div> c173f18d4ee11861a7f655e491ad9cd85d5fbba3 384 381 2025-06-12T02:56:07Z Daspidy 595608 wikitext text/x-wiki There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own respective challenge. <div class="mp-links columns-2"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=144px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=144px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=CyberWardrill.png|size=144px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=144px}} </div> bf3c0681da68a3e86565f5544d454c30e02e796f 385 384 2025-06-12T02:56:46Z Daspidy 595608 wikitext text/x-wiki There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own unique challenge. <div class="mp-links columns-2"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=144px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=144px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=CyberWardrill.png|size=144px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=144px}} </div> 60346e84a436407b579bdf0edfaaf5b92a949c2d 386 385 2025-06-12T02:59:09Z Daspidy 595608 wikitext text/x-wiki === Warning: This section and the following pages will contain major spoilers. === There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own unique challenge. <div class="mp-links columns-2"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=144px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=144px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=CyberWardrill.png|size=144px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=144px}} </div> d6e26ca3a2c0b87baf8d637138e77c905b22fd0c File:CyberWardrill.png 6 309 379 2025-06-12T02:51:55Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} 5fdc0517c60eec1aa02a1fef9763fa88c38be9ad Griff & Splunker 'Pacifier' Pistol 0 278 387 350 2025-06-12T04:20:18Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Upgrade Type=Weapon |Ability/Tool/Passive=Tool |Mission=Rough Morning |Upgrade=None |Printer Slurry=0 |Carbon=0 |Silicon=0 |Aluminium=220 }} The Griff & Splunker 'Pacifier' Pistol is a weapon obtained and is the primary means of defense in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. == Features == The Pacifier fires a plasma projectile each time the trigger is pulled capable of damaging wildlife and fragile objects. It can be zoomed by the player for more precise shots. The power of each shot can be increased by purchasing damage upgrades. Rather than having a bullet capacity, the Pacifier has an overheat meter that'll fill with each shot. It will cooldown naturally when the player stops firing. If it fully overheats, the player will be temporarily unable to use the gun. Upgrades can be purchased to prolong its usability and speed up its recovery from overheat. The player can purchase an upgrade allowing the Pacifier to charge up and release an explosive shot capable of dealing substantial damage to a target. This charge shot can be further improved by additional upgrades allowing it to charge even further and gain the ability to bounce off of enemies and unleash a powerful explosion at the end of its lifespan. == Tips == * The Pacifier can be shot while sliding and mid-air, making it possible to move out of harm's way while still returning fire. * The overheat delay can be cancelled by using the power dodge. == Trivia == * In early trailers for Revenge, a gun appearing to be the Nomad pistol from the first game can be seen wielded instead of the current Pacifier. It was most likely a placeholder model. be72b77afc007cd7f98134ae3b94874243def9e5 Resources 0 310 388 2025-06-14T17:59:53Z Daspidy 595608 Created page with "Various resources are found throughout Revenge of the Savage Planet, with some capable of being weaponized in the environment, some refilling the player's inventory, and some being required for purchasing upgrades." wikitext text/x-wiki Various resources are found throughout Revenge of the Savage Planet, with some capable of being weaponized in the environment, some refilling the player's inventory, and some being required for purchasing upgrades. 1c988969ded7dbdbf6a9cba42f663812a33872f8 File:Fauna.png 6 311 389 2025-06-14T18:09:30Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} 5fdc0517c60eec1aa02a1fef9763fa88c38be9ad File:Kindex.png 6 312 391 2025-06-14T18:14:02Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} 5fdc0517c60eec1aa02a1fef9763fa88c38be9ad File:Characters.png 6 313 393 2025-06-14T18:49:04Z Daspidy 595608 wikitext text/x-wiki == Licensing == {{License|game}} 5fdc0517c60eec1aa02a1fef9763fa88c38be9ad Slappi's Den of Fun 0 283 395 314 2025-06-15T03:55:07Z Daspidy 595608 wikitext text/x-wiki Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Unlike previously explored planets, Slappi's Den of Fun is not an open world, but rather is made up of 6 disconnected regions, referred to as Trials, which each must be accessed by different teleporters found on the previous planets. Each trial is meant to challenge explorers in a specific aspect, such as platforming, puzzles, and combat. 5 of these trials must be completed before unlocking the sixth and final trial, where the endgame and final showdown takes place. All the trials share the same vibrant retro-inspired aesthetic, featuring many pinball inspired obstacles and neon lights scattered throughout each chamber. 5803bcbdb7b6c270268bbcc76ef9928a630741da Stellaris Prime 0 279 396 310 2025-06-15T04:19:18Z Daspidy 595608 wikitext text/x-wiki Stellaris Prime is the very first planet encountered in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]] and is also where the player's [[Habitat]] is located. While initially landing on a beach, the tropical planet largely takes place in a series of swamps and jungle, with tall rocky cliffs surrounding each region. Many secrets can be found here, however only a handful are accessible early game as explorers are intended to follow the main missions and gradually gather the equipment and upgrades necessary to access all of the hidden goodies Stellaris Prime has to offer. Acting as the introductory world, the flora and fauna don't pose too much of a threat. However, starting off with low health and stamina as well as limited abilities and equipment, it isn't too wise to underestimate the possibility of being overtaken by the aggressive wildlife or overwhelmed by the reactionary environment! 976450785def1e54830f2890af8588ebe1c06c18 Xephyr 0 280 397 311 2025-06-15T04:42:46Z Daspidy 595608 wikitext text/x-wiki Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Xephyr is a vast desert planet, consisting of sandy dunes, mountains and valleys that immediately show the explorable area to be larger than that of [[Stellaris Prime]]. The arid and harsh conditions of the surface are reflected in the tougher and more aggressive wildlife found on the planet, as well as shown by the increase in environmental hazards, including large tar pits and electric mushrooms. In addition to the open surface, Xephyr also features deep caverns that make up an underground second layer of the map. As mentioned, the challenge of dealing with the wildlife has increased, so the importance of upgrades has grown. Increased [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] damage and the [[Power Dodge]] ability are highly recommended, as well as another ability unlocked while progressing the planet's main mission proving extremely useful in handling the projectile based enemies found. dfdf639bf0f1a659e72692506b07790cbd0a3262 Zenithian Rift 0 281 398 312 2025-06-15T05:01:28Z Daspidy 595608 wikitext text/x-wiki Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. The planet is extremely volatile, featuring scorching underground volcanic activity that's only somewhat hidden away by the snow blanketed frozen surface. A large underground network teeming with hidden life can be accessed beneath the icesheet. Lastly, on top of it all is a massive mountain, with its peak being a thriving yet still ever-hazardous region acting as the upper layer of the map. Meeting the extreme standards of the planet, the wildlife has grown to be equally volatile. Taking damage can be very difficult to avoid, so ensuring the collection of Orange Goos to level up and increase maximum health is highly suggested in order to be able to efficiently survive the remarkably harsh conditions faced. 977d2834c2955ef17cbf203e9c1fa5069b723284 Quasadron IX 0 282 399 313 2025-06-16T18:38:52Z Daspidy 595608 Added description, still in need of more detail wikitext text/x-wiki Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Set in a large savannah filled with craggy valleys, dangerous plains and vibrant forests, Quasadron IX offers the largest open surface area and is the most challenging planet in the game. Many secrets are scattered around, and players will find themselves using the most of their abilities, tools and upgrades to seek them out whilst fighting to survive against the new, tough fauna the planet has to offer. The fauna here are able to deal the most damage out of most other hostiles present throughout the game and situations can become hectic very quickly, so making sure you're upgrading your movement and weapons whilst leveling up your health and stamina may be crucial to being able to freely explore the planet without too much trouble. 7d3f493802f7a208615a3dd0d0b03973a101ba32 Griff & Splunker 'Pacifier' Pistol 0 278 401 387 2025-06-16T21:08:45Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Griff & Splunker 'Pacifier' Pistol |image=Pacifierpistol.png |Upgrade Type=Weapon |Ability/Tool/Passive=Tool |Mission=Rough Morning |Upgrade=None |Printer Slurry=0 |Carbon=0 |Silicon=0 |Aluminium=220 }} The Griff & Splunker 'Pacifier' Pistol is a weapon obtained and is the primary means of defense in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. == Features == The Pacifier fires a plasma projectile each time the trigger is pulled capable of damaging wildlife and fragile objects. It can be zoomed by the player for more precise shots. The power of each shot can be increased by purchasing damage upgrades. Rather than having a bullet capacity, the Pacifier has an overheat meter that'll fill with each shot. It will cooldown naturally when the player stops firing. If it fully overheats, the player will be temporarily unable to use the gun. Upgrades can be purchased to prolong its usability and speed up its recovery from overheat. The player can purchase an upgrade allowing the Pacifier to charge up and release an explosive shot capable of dealing substantial damage to a target. This charge shot can be further improved by additional upgrades allowing it to charge even further and gain the ability to bounce off of enemies and unleash a powerful explosion at the end of its lifespan. == Tips == * The Pacifier can be shot while sliding and mid-air, making it possible to move out of harm's way while still returning fire. * The overheat delay can be cancelled by sprinting or using the power dodge. == Trivia == * In early trailers for Revenge, a gun appearing to be the Nomad pistol from the first game can be seen wielded instead of the current Pacifier. It was most likely a placeholder model. b9ead81eb4e736202b525e16a4ea141756ca5c1e Template:Planet Infobox 10 314 402 2025-06-16T21:16:53Z Daspidy 595608 Created page with "{{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Planet Info |Planet Info=Biomes, Difficulty }}" wikitext text/x-wiki {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Planet Info |Planet Info=Biomes, Difficulty }} 7fff9ca5e808b42fa37473e7212057c89fc8dda2 Stellaris Prime 0 279 403 396 2025-06-16T21:17:14Z Daspidy 595608 wikitext text/x-wiki {{Planet Infobox |title=Stellaris Prime |image=StellarisSS.png |Biomes=Tropical |Difficulty=Low }} Stellaris Prime is the very first planet encountered in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]] and is also where the player's [[Habitat]] is located. While initially landing on a beach, the tropical planet largely takes place in a series of swamps and jungle, with tall rocky cliffs surrounding each region. Many secrets can be found here, however only a handful are accessible early game as explorers are intended to follow the main missions and gradually gather the equipment and upgrades necessary to access all of the hidden goodies Stellaris Prime has to offer. Acting as the introductory world, the flora and fauna don't pose too much of a threat. However, starting off with low health and stamina as well as limited abilities and equipment, it isn't too wise to underestimate the possibility of being overtaken by the aggressive wildlife or overwhelmed by the reactionary environment! 8ff956d2cd59f54be9463d0d104b415945062b1f 404 403 2025-06-16T21:19:47Z Daspidy 595608 wikitext text/x-wiki {{Planet Infobox |title=Stellaris Prime |image=Stellarisprime.png |Biomes=Jungle, Swamps |Difficulty=Low }} Stellaris Prime is the very first planet encountered in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]] and is also where the player's [[Habitat]] is located. While initially landing on a beach, the tropical planet largely takes place in a series of swamps and jungle, with tall rocky cliffs surrounding each region. Many secrets can be found here, however only a handful are accessible early game as explorers are intended to follow the main missions and gradually gather the equipment and upgrades necessary to access all of the hidden goodies Stellaris Prime has to offer. Acting as the introductory world, the flora and fauna don't pose too much of a threat. However, starting off with low health and stamina as well as limited abilities and equipment, it isn't too wise to underestimate the possibility of being overtaken by the aggressive wildlife or overwhelmed by the reactionary environment! 9f41760136343837ad97e1830273f261020d0edd 419 404 2025-06-16T23:50:01Z Daspidy 595608 Added Regions section (needs details) wikitext text/x-wiki {{Planet Infobox |title=Stellaris Prime |image=Stellarisprime.png |Biomes=Jungle, Swamps |Difficulty=Low }} Stellaris Prime is the very first planet encountered in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]] and is also where the player's [[Habitat]] is located. While initially landing on a beach, the tropical planet largely takes place in a series of swamps and jungle, with tall rocky cliffs surrounding each region. Many secrets can be found here, however only a handful are accessible early game as explorers are intended to follow the main missions and gradually gather the equipment and upgrades necessary to access all of the hidden goodies Stellaris Prime has to offer. Acting as the introductory world, the flora and fauna don't pose too much of a threat. However, starting off with low health and stamina as well as limited abilities and equipment, it isn't too wise to underestimate the possibility of being overtaken by the aggressive wildlife or overwhelmed by the reactionary environment! == Regions == === Pfyzzich Beach === - === Nu Florida === - === Slarragon Forest === - === Spiderlings' Hollow === - === Cliffs of Abaddoon === - === Chuggler's Swamp === - === Scuttling Grotto === - cb10e478226f0decf6064b751be9e34f64018ec9 427 419 2025-06-17T01:12:20Z Daspidy 595608 added Kindex section, missing details wikitext text/x-wiki {{Planet Infobox |title=Stellaris Prime |image=Stellarisprime.png |Biomes=Jungle, Swamps |Difficulty=Low }} Stellaris Prime is the very first planet encountered in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]] and is also where the player's [[Habitat]] is located. While initially landing on a beach, the tropical planet largely takes place in a series of swamps and jungle, with tall rocky cliffs surrounding each region. Many secrets can be found here, however only a handful are accessible early game as explorers are intended to follow the main missions and gradually gather the equipment and upgrades necessary to access all of the hidden goodies Stellaris Prime has to offer. Acting as the introductory world, the flora and fauna don't pose too much of a threat. However, starting off with low health and stamina as well as limited abilities and equipment, it isn't too wise to underestimate the possibility of being overtaken by the aggressive wildlife or overwhelmed by the reactionary environment! == Regions == === Pfyzzich Beach === - === Nu Florida === - === Slarragon Forest === - === Spiderlings' Hollow === - === Cliffs of Abaddoon === - === Chuggler's Swamp === - === Scuttling Grotto === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - === Resources === - f8b14a6055f2b711ee773d8c51b446d8dedb72fb 436 427 2025-06-17T01:38:41Z Daspidy 595608 wikitext text/x-wiki Stellaris Prime is the very first planet encountered in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]] and is also where the player's [[Habitat]] is located.{{Planet Infobox |title=Stellaris Prime |image=Stellarisprime.png |Biomes=Jungle, Swamps |Difficulty=Low }} == Description == While initially landing on a beach, the tropical planet largely takes place in a series of swamps and jungle, with tall rocky cliffs surrounding each region. Many secrets can be found here, however only a handful are accessible early game as explorers are intended to follow the main missions and gradually gather the equipment and upgrades necessary to access all of the hidden goodies Stellaris Prime has to offer. Acting as the introductory world, the flora and fauna don't pose too much of a threat. However, starting off with low health and stamina as well as limited abilities and equipment, it isn't too wise to underestimate the possibility of being overtaken by the aggressive wildlife or overwhelmed by the reactionary environment! == Regions == === Pfyzzich Beach === - === Nu Florida === - === Slarragon Forest === - === Spiderlings' Hollow === - === Cliffs of Abaddoon === - === Chuggler's Swamp === - === Scuttling Grotto === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - 58c0ddd9e71572af901f031cb2eee79baa798af7 Xephyr 0 280 405 397 2025-06-16T21:21:03Z Daspidy 595608 wikitext text/x-wiki {{Planet Infobox |title=Xephyr |image=Xephyr.png |Biomes=Desert |Difficulty=Medium }} Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Xephyr is a vast desert planet, consisting of sandy dunes, mountains and valleys that immediately show the explorable area to be larger than that of [[Stellaris Prime]]. The arid and harsh conditions of the surface are reflected in the tougher and more aggressive wildlife found on the planet, as well as shown by the increase in environmental hazards, including large tar pits and electric mushrooms. In addition to the open surface, Xephyr also features deep caverns that make up an underground second layer of the map. As mentioned, the challenge of dealing with the wildlife has increased, so the importance of upgrades has grown. Increased [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] damage and the [[Power Dodge]] ability are highly recommended, as well as another ability unlocked while progressing the planet's main mission proving extremely useful in handling the projectile based enemies found. 37b6d16c7da5d8a7f8cbe75f59d01a0dec1c4682 428 405 2025-06-17T01:12:56Z Daspidy 595608 Added Regions and Kindex sections, missing details wikitext text/x-wiki {{Planet Infobox |title=Xephyr |image=Xephyr.png |Biomes=Desert |Difficulty=Medium }} Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Xephyr is a vast desert planet, consisting of sandy dunes, mountains and valleys that immediately show the explorable area to be larger than that of [[Stellaris Prime]]. The arid and harsh conditions of the surface are reflected in the tougher and more aggressive wildlife found on the planet, as well as shown by the increase in environmental hazards, including large tar pits and electric mushrooms. In addition to the open surface, Xephyr also features deep caverns that make up an underground second layer of the map. As mentioned, the challenge of dealing with the wildlife has increased, so the importance of upgrades has grown. Increased [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] damage and the [[Power Dodge]] ability are highly recommended, as well as another ability unlocked while progressing the planet's main mission proving extremely useful in handling the projectile based enemies found. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - === Resources === - 95ede3df9050fd7a07dd06fe140bd6b188d2b1e5 437 428 2025-06-17T01:39:10Z Daspidy 595608 wikitext text/x-wiki Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Xephyr |image=Xephyr.png |Biomes=Desert |Difficulty=Medium }} == Description == Xephyr is a vast desert planet, consisting of sandy dunes, mountains and valleys that immediately show the explorable area to be larger than that of [[Stellaris Prime]]. The arid and harsh conditions of the surface are reflected in the tougher and more aggressive wildlife found on the planet, as well as shown by the increase in environmental hazards, including large tar pits and electric mushrooms. In addition to the open surface, Xephyr also features deep caverns that make up an underground second layer of the map. As mentioned, the challenge of dealing with the wildlife has increased, so the importance of upgrades has grown. Increased [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] damage and the [[Power Dodge]] ability are highly recommended, as well as another ability unlocked while progressing the planet's main mission proving extremely useful in handling the projectile based enemies found. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - 8951e8ad9629d2fdbbca3ab9efedf08fce71a2a7 440 437 2025-06-17T01:40:26Z Daspidy 595608 wikitext text/x-wiki Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Xephyr |image=Xephyr.png |Biomes=Desert, Cavern |Difficulty=Medium }} == Description == Xephyr is a vast desert planet, consisting of sandy dunes, mountains and valleys that immediately show the explorable area to be larger than that of [[Stellaris Prime]]. The arid and harsh conditions of the surface are reflected in the tougher and more aggressive wildlife found on the planet, as well as shown by the increase in environmental hazards, including large tar pits and electric mushrooms. In addition to the open surface, Xephyr also features deep caverns that make up an underground second layer of the map. As mentioned, the challenge of dealing with the wildlife has increased, so the importance of upgrades has grown. Increased [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] damage and the [[Power Dodge]] ability are highly recommended, as well as another ability unlocked while progressing the planet's main mission proving extremely useful in handling the projectile based enemies found. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - a7bf610799bd2cfef829d26575148bda522ec364 441 440 2025-06-17T01:40:36Z Daspidy 595608 wikitext text/x-wiki Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Xephyr |image=Xephyr.png |Biomes=Desert, Canyon |Difficulty=Medium }} == Description == Xephyr is a vast desert planet, consisting of sandy dunes, mountains and valleys that immediately show the explorable area to be larger than that of [[Stellaris Prime]]. The arid and harsh conditions of the surface are reflected in the tougher and more aggressive wildlife found on the planet, as well as shown by the increase in environmental hazards, including large tar pits and electric mushrooms. In addition to the open surface, Xephyr also features deep caverns that make up an underground second layer of the map. As mentioned, the challenge of dealing with the wildlife has increased, so the importance of upgrades has grown. Increased [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] damage and the [[Power Dodge]] ability are highly recommended, as well as another ability unlocked while progressing the planet's main mission proving extremely useful in handling the projectile based enemies found. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - 41f6f779f8f2698d95e603115d39c9fbbc9ea2bb 448 441 2025-06-17T01:54:39Z Daspidy 595608 Updated regions wikitext text/x-wiki Xephyr is the second planet explored in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Xephyr |image=Xephyr.png |Biomes=Desert, Canyon |Difficulty=Medium }} == Description == Xephyr is a vast desert planet, consisting of sandy dunes, mountains and valleys that immediately show the explorable area to be larger than that of [[Stellaris Prime]]. The arid and harsh conditions of the surface are reflected in the tougher and more aggressive wildlife found on the planet, as well as shown by the increase in environmental hazards, including large tar pits and electric mushrooms. In addition to the open surface, Xephyr also features deep caverns that make up an underground second layer of the map. As mentioned, the challenge of dealing with the wildlife has increased, so the importance of upgrades has grown. Increased [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] damage and the [[Power Dodge]] ability are highly recommended, as well as another ability unlocked while progressing the planet's main mission proving extremely useful in handling the projectile based enemies found. == Ground Regions == === Greater Sand Sea === - === The Frangipane Drifts === - === Cactus Valley === - === Sand Wastes === - === Deadwood Gulch === - === Pillars of Turpitude === - === G'nortt's High Rise === - === Larval Roost === - === Great Oasis === - == Depths Regions == === Stone Aerie === - === Caves of Miranyth === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - 71385285e0ef432c922550750311533d87fe7b83 Zenithian Rift 0 281 406 398 2025-06-16T21:23:15Z Daspidy 595608 wikitext text/x-wiki {{Planet Infobox |title=Zenithian Rift |image=Zenithianrift.png |Biomes=Tundra, Lava |Difficulty=Medium }} Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. The planet is extremely volatile, featuring scorching underground volcanic activity that's only somewhat hidden away by the snow blanketed frozen surface. A large underground network teeming with hidden life can be accessed beneath the icesheet. Lastly, on top of it all is a massive mountain, with its peak being a thriving yet still ever-hazardous region acting as the upper layer of the map. Meeting the extreme standards of the planet, the wildlife has grown to be equally volatile. Taking damage can be very difficult to avoid, so ensuring the collection of Orange Goos to level up and increase maximum health is highly suggested in order to be able to efficiently survive the remarkably harsh conditions faced. 5ad0562c2d31dae3066b59dbe0abee323c7df464 429 406 2025-06-17T01:13:16Z Daspidy 595608 Added Regions and Kindex sections, missing details wikitext text/x-wiki {{Planet Infobox |title=Zenithian Rift |image=Zenithianrift.png |Biomes=Tundra, Lava |Difficulty=Medium }} Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. The planet is extremely volatile, featuring scorching underground volcanic activity that's only somewhat hidden away by the snow blanketed frozen surface. A large underground network teeming with hidden life can be accessed beneath the icesheet. Lastly, on top of it all is a massive mountain, with its peak being a thriving yet still ever-hazardous region acting as the upper layer of the map. Meeting the extreme standards of the planet, the wildlife has grown to be equally volatile. Taking damage can be very difficult to avoid, so ensuring the collection of Orange Goos to level up and increase maximum health is highly suggested in order to be able to efficiently survive the remarkably harsh conditions faced. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - === Resources === - e1f48c4f13057c1829a480058133bf5dcff66a69 438 429 2025-06-17T01:39:44Z Daspidy 595608 wikitext text/x-wiki Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Zenithian Rift |image=Zenithianrift.png |Biomes=Tundra, Lava |Difficulty=Medium }} == Description == The planet is extremely volatile, featuring scorching underground volcanic activity that's only somewhat hidden away by the snow blanketed frozen surface. A large underground network teeming with hidden life can be accessed beneath the icesheet. Lastly, on top of it all is a massive mountain, with its peak being a thriving yet still ever-hazardous region acting as the upper layer of the map. Meeting the extreme standards of the planet, the wildlife has grown to be equally volatile. Taking damage can be very difficult to avoid, so ensuring the collection of Orange Goos to level up and increase maximum health is highly suggested in order to be able to efficiently survive the remarkably harsh conditions faced. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - === Resources === - 1f7f95cbae3aae19911285dd32402b00ded4498d 439 438 2025-06-17T01:39:53Z Daspidy 595608 wikitext text/x-wiki Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Zenithian Rift |image=Zenithianrift.png |Biomes=Tundra, Volcanic |Difficulty=Medium }} == Description == The planet is extremely volatile, featuring scorching underground volcanic activity that's only somewhat hidden away by the snow blanketed frozen surface. A large underground network teeming with hidden life can be accessed beneath the icesheet. Lastly, on top of it all is a massive mountain, with its peak being a thriving yet still ever-hazardous region acting as the upper layer of the map. Meeting the extreme standards of the planet, the wildlife has grown to be equally volatile. Taking damage can be very difficult to avoid, so ensuring the collection of Orange Goos to level up and increase maximum health is highly suggested in order to be able to efficiently survive the remarkably harsh conditions faced. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - === Resources === - 68befcd694a624a8c835c79dfca504c7f9bd542b 442 439 2025-06-17T01:41:00Z Daspidy 595608 wikitext text/x-wiki Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Zenithian Rift |image=Zenithianrift.png |Biomes=Tundra, Volcanic |Difficulty=Medium }} == Description == The planet is extremely volatile, featuring scorching underground volcanic activity that's only somewhat hidden away by the snow blanketed frozen surface. A large underground network teeming with hidden life can be accessed beneath the icesheet. Lastly, on top of it all is a massive mountain, with its peak being a thriving yet still ever-hazardous region acting as the upper layer of the map. Meeting the extreme standards of the planet, the wildlife has grown to be equally volatile. Taking damage can be very difficult to avoid, so ensuring the collection of Orange Goos to level up and increase maximum health is highly suggested in order to be able to efficiently survive the remarkably harsh conditions faced. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - 45d1345dc5ed2d126c5039860975244fb21ed578 450 442 2025-06-17T02:00:10Z Daspidy 595608 Updated regions wikitext text/x-wiki Zenithian Rift is the third explorable planet within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Zenithian Rift |image=Zenithianrift.png |Biomes=Tundra, Volcanic |Difficulty=Medium }} == Description == The planet is extremely volatile, featuring scorching underground volcanic activity that's only somewhat hidden away by the snow blanketed frozen surface. A large underground network teeming with hidden life can be accessed beneath the icesheet. Lastly, on top of it all is a massive mountain, with its peak being a thriving yet still ever-hazardous region acting as the upper layer of the map. Meeting the extreme standards of the planet, the wildlife has grown to be equally volatile. Taking damage can be very difficult to avoid, so ensuring the collection of Orange Goos to level up and increase maximum health is highly suggested in order to be able to efficiently survive the remarkably harsh conditions faced. == Ground Regions == === Crash Site === - === Frip's Big Chill === - === Brrrts Frozen Grotto === - == Depths Regions == === The Depths of Trrn === - === Plyxors Shaft === - === Chikit's Pools === - == Peak Regions == === Bilodeau's Floating Isles === - === Summit of Ruin === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - a349a908dbda3bc88c150ff28b39f79467f4fb15 Quasadron IX 0 282 407 399 2025-06-16T21:24:09Z Daspidy 595608 wikitext text/x-wiki {{Planet Infobox |title=Quasadron IX |image=Quasadronix.png |Biomes=Plains, Forest |Difficulty=High }} Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Set in a large savannah filled with craggy valleys, dangerous plains and vibrant forests, Quasadron IX offers the largest open surface area and is the most challenging planet in the game. Many secrets are scattered around, and players will find themselves using the most of their abilities, tools and upgrades to seek them out whilst fighting to survive against the new, tough fauna the planet has to offer. The fauna here are able to deal the most damage out of most other hostiles present throughout the game and situations can become hectic very quickly, so making sure you're upgrading your movement and weapons whilst leveling up your health and stamina may be crucial to being able to freely explore the planet without too much trouble. 22f35c53b8d59a8c21799233e87b8c08029ea3b5 430 407 2025-06-17T01:13:32Z Daspidy 595608 Added Regions and Kindex sections, missing details wikitext text/x-wiki {{Planet Infobox |title=Quasadron IX |image=Quasadronix.png |Biomes=Plains, Forest |Difficulty=High }} Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Set in a large savannah filled with craggy valleys, dangerous plains and vibrant forests, Quasadron IX offers the largest open surface area and is the most challenging planet in the game. Many secrets are scattered around, and players will find themselves using the most of their abilities, tools and upgrades to seek them out whilst fighting to survive against the new, tough fauna the planet has to offer. The fauna here are able to deal the most damage out of most other hostiles present throughout the game and situations can become hectic very quickly, so making sure you're upgrading your movement and weapons whilst leveling up your health and stamina may be crucial to being able to freely explore the planet without too much trouble. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - === Resources === - 157adbbf25b0125082cae502b873b3f07d458daf 435 430 2025-06-17T01:37:57Z Daspidy 595608 wikitext text/x-wiki Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Quasadron IX |image=Quasadronix.png |Biomes=Plains, Forest |Difficulty=High }} == Description == Set in a large savannah filled with craggy valleys, dangerous plains and vibrant forests, Quasadron IX offers the largest open surface area and is the most challenging planet in the game. Many secrets are scattered around, and players will find themselves using the most of their abilities, tools and upgrades to seek them out whilst fighting to survive against the new, tough fauna the planet has to offer. The fauna here are able to deal the most damage out of most other hostiles present throughout the game and situations can become hectic very quickly, so making sure you're upgrading your movement and weapons whilst leveling up your health and stamina may be crucial to being able to freely explore the planet without too much trouble. == Regions == === - === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - ba4a7e578943a54f24504d3f85606f80494b6f56 449 435 2025-06-17T01:56:58Z Daspidy 595608 Updated regions wikitext text/x-wiki Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Quasadron IX |image=Quasadronix.png |Biomes=Plains, Forest |Difficulty=High }} == Description == Set in a large savannah filled with craggy valleys, dangerous plains and vibrant forests, Quasadron IX offers the largest open surface area and is the most challenging planet in the game. Many secrets are scattered around, and players will find themselves using the most of their abilities, tools and upgrades to seek them out whilst fighting to survive against the new, tough fauna the planet has to offer. The fauna here are able to deal the most damage out of most other hostiles present throughout the game and situations can become hectic very quickly, so making sure you're upgrading your movement and weapons whilst leveling up your health and stamina may be crucial to being able to freely explore the planet without too much trouble. == Regions == === Crash Site === - === Savannah Lake === - === Southern Rocks === - === Florian's Fuchsia Festivus === - === Babutt's Kingdom === - === Summit === - === Alta's Trash Mountain === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - 05d93179c4d9f4b651552a9d1e035e13687fd8b1 Slappi's Den of Fun 0 283 408 395 2025-06-16T21:25:10Z Daspidy 595608 wikitext text/x-wiki {{Planet Infobox |title=Slappi's Den of Fun |image=Slappisdenoffun.png |Biomes=Retro Sci-Fi |Difficulty=High }} Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Unlike previously explored planets, Slappi's Den of Fun is not an open world, but rather is made up of 6 disconnected regions, referred to as Trials, which each must be accessed by different teleporters found on the previous planets. Each trial is meant to challenge explorers in a specific aspect, such as platforming, puzzles, and combat. 5 of these trials must be completed before unlocking the sixth and final trial, where the endgame and final showdown takes place. All the trials share the same vibrant retro-inspired aesthetic, featuring many pinball inspired obstacles and neon lights scattered throughout each chamber. 5bac5a95d5640f2af74e4c1199fbd255164c3275 410 408 2025-06-16T22:37:10Z Daspidy 595608 wikitext text/x-wiki {{Planet Infobox |title=Slappi's Den of Fun |image=Slappisdenoffun.png |Biomes=Retro Chaos |Difficulty=High }} Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Unlike previously explored planets, Slappi's Den of Fun is not an open world, but rather is made up of 6 disconnected regions, referred to as Trials, which each must be accessed by different teleporters found on the previous planets. Each trial is meant to challenge explorers in a specific aspect, such as platforming, puzzles, and combat. 5 of these trials must be completed before unlocking the sixth and final trial, where the endgame and final showdown takes place. All the trials share the same vibrant retro-inspired aesthetic, featuring many pinball inspired obstacles and neon lights scattered throughout each chamber. eb047cbcbb8ef903f7b5e82e69b1f377332149ae 433 410 2025-06-17T01:36:14Z Daspidy 595608 Added Regions and Kindex sections, missing details wikitext text/x-wiki === This page will contain VERY significant spoilers for the endgame of Revenge of the Savage Planet. Read with caution! === {{Planet Infobox |title=Slappi's Den of Fun |image=Slappisdenoffun.png |Biomes=Retro Chaos |Difficulty=High }} Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. Unlike previously explored planets, Slappi's Den of Fun is not an open world, but rather is made up of 6 disconnected regions, referred to as Trials, which each must be accessed by different teleporters found on the previous planets. Each trial is meant to challenge explorers in a specific aspect, such as platforming, puzzles, and combat. 5 of these trials must be completed before unlocking the sixth and final trial, where the endgame and final showdown takes place. All the trials share the same vibrant retro-inspired aesthetic, featuring many pinball inspired obstacles and neon lights scattered throughout each chamber. == Regions == === Shrine of Grind === The first trial shrine where players must navigate a series of chambers using the grappling hook and grind rail upgrades to collect a piece of the mysterious [[Pentaforce]]. === Shrine of Timing === The second trial shrine where players must use quick thinking to accomplish timed, accuracy and reflex based puzzles to grab another piece of the [[Pentaforce]]. === Shrine of Combat === The third trial shrine where players must survive against hordes of fauna from explored planets turned corrupt and forced hostile by [[Slappi]] to obtain a piece of the [[Pentaforce]]. === Shrine of Pressure === The fourth trial shrine that is entirely based on solving a series of puzzles using previously obtained tools and abilities in order to collect another piece of the [[Pentaforce]]. === Shrine of Challenge === The fifth and final trial shrine where players must endure the most difficult challenges relative to the previous shrines, even including a [[Cyber Wardrill|boss fight]], for a piece of the [[Pentaforce]]. === Vestibule === The beginning of the final segment of Slappi's Den of Fun where Revenge's endgame takes place. This section is primarily a (literal) on-the-rails section where players learn of Slappi's origin and his plans through a monologue. === Throne Room === Slappi's lair and the arena for the [[Mecha Slappi|final boss encounter]]. == Kindex == === Corrupted Creatures === - === Tech === - 7671ece2566ed17ce8eee9b962877baf4411b018 434 433 2025-06-17T01:36:54Z Daspidy 595608 wikitext text/x-wiki '''This page will contain VERY significant spoilers for the endgame of Revenge of the Savage Planet. Read with caution!''' Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. {{Planet Infobox |title=Slappi's Den of Fun |image=Slappisdenoffun.png |Biomes=Retro Chaos |Difficulty=High }} Unlike previously explored planets, Slappi's Den of Fun is not an open world, but rather is made up of 6 disconnected regions, referred to as Trials, which each must be accessed by different teleporters found on the previous planets. Each trial is meant to challenge explorers in a specific aspect, such as platforming, puzzles, and combat. 5 of these trials must be completed before unlocking the sixth and final trial, where the endgame and final showdown takes place. All the trials share the same vibrant retro-inspired aesthetic, featuring many pinball inspired obstacles and neon lights scattered throughout each chamber. == Regions == === Shrine of Grind === The first trial shrine where players must navigate a series of chambers using the grappling hook and grind rail upgrades to collect a piece of the mysterious [[Pentaforce]]. === Shrine of Timing === The second trial shrine where players must use quick thinking to accomplish timed, accuracy and reflex based puzzles to grab another piece of the [[Pentaforce]]. === Shrine of Combat === The third trial shrine where players must survive against hordes of fauna from explored planets turned corrupt and forced hostile by [[Slappi]] to obtain a piece of the [[Pentaforce]]. === Shrine of Pressure === The fourth trial shrine that is entirely based on solving a series of puzzles using previously obtained tools and abilities in order to collect another piece of the [[Pentaforce]]. === Shrine of Challenge === The fifth and final trial shrine where players must endure the most difficult challenges relative to the previous shrines, even including a [[Cyber Wardrill|boss fight]], for a piece of the [[Pentaforce]]. === Vestibule === The beginning of the final segment of Slappi's Den of Fun where Revenge's endgame takes place. This section is primarily a (literal) on-the-rails section where players learn of Slappi's origin and his plans through a monologue. === Throne Room === Slappi's lair and the arena for the [[Mecha Slappi|final boss encounter]]. == Kindex == === Corrupted Creatures === - === Tech === - b3d9cba891b11935e233da6a606c1a0f2226f283 443 434 2025-06-17T01:41:59Z Daspidy 595608 wikitext text/x-wiki '''<big>This page will contain VERY significant spoilers for the endgame of Revenge of the Savage Planet. Read with caution!</big>''' Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. {{Planet Infobox |title=Slappi's Den of Fun |image=Slappisdenoffun.png |Biomes=Retro Chaos |Difficulty=High }} == Description == Unlike previously explored planets, Slappi's Den of Fun is not an open world, but rather is made up of 6 disconnected regions, referred to as Trials, which each must be accessed by different teleporters found on the previous planets. Each trial is meant to challenge explorers in a specific aspect, such as platforming, puzzles, and combat. 5 of these trials must be completed before unlocking the sixth and final trial, where the endgame and final showdown takes place. All the trials share the same vibrant retro-inspired aesthetic, featuring many pinball inspired obstacles and neon lights scattered throughout each chamber. == Regions == === Shrine of Grind === The first trial shrine where players must navigate a series of chambers using the grappling hook and grind rail upgrades to collect a piece of the mysterious [[Pentaforce]]. === Shrine of Timing === The second trial shrine where players must use quick thinking to accomplish timed, accuracy and reflex based puzzles to grab another piece of the [[Pentaforce]]. === Shrine of Combat === The third trial shrine where players must survive against hordes of fauna from explored planets turned corrupt and forced hostile by [[Slappi]] to obtain a piece of the [[Pentaforce]]. === Shrine of Pressure === The fourth trial shrine that is entirely based on solving a series of puzzles using previously obtained tools and abilities in order to collect another piece of the [[Pentaforce]]. === Shrine of Challenge === The fifth and final trial shrine where players must endure the most difficult challenges relative to the previous shrines, even including a [[Cyber Wardrill|boss fight]], for a piece of the [[Pentaforce]]. === Vestibule === The beginning of the final segment of Slappi's Den of Fun where Revenge's endgame takes place. This section is primarily a (literal) on-the-rails section where players learn of Slappi's origin and his plans through a monologue. === Throne Room === Slappi's lair and the arena for the [[Mecha Slappi|final boss encounter]]. == Kindex == === Corrupted Creatures === - === Tech === - 88241728a69481f203060df623caf2f037cec4f7 444 443 2025-06-17T01:42:25Z Daspidy 595608 wikitext text/x-wiki '''<big>This page will contain VERY significant spoilers for the endgame of Revenge of the Savage Planet. Read with caution!</big>''' Slappi's Den of Fun is the fifth and final explorable planet in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. {{Planet Infobox |title=Slappi's Den of Fun |image=Slappisdenoffun.png |Biomes=Artifical Retro Landscape |Difficulty=High }} == Description == Unlike previously explored planets, Slappi's Den of Fun is not an open world, but rather is made up of 6 disconnected regions, referred to as Trials, which each must be accessed by different teleporters found on the previous planets. Each trial is meant to challenge explorers in a specific aspect, such as platforming, puzzles, and combat. 5 of these trials must be completed before unlocking the sixth and final trial, where the endgame and final showdown takes place. All the trials share the same vibrant retro-inspired aesthetic, featuring many pinball inspired obstacles and neon lights scattered throughout each chamber. == Regions == === Shrine of Grind === The first trial shrine where players must navigate a series of chambers using the grappling hook and grind rail upgrades to collect a piece of the mysterious [[Pentaforce]]. === Shrine of Timing === The second trial shrine where players must use quick thinking to accomplish timed, accuracy and reflex based puzzles to grab another piece of the [[Pentaforce]]. === Shrine of Combat === The third trial shrine where players must survive against hordes of fauna from explored planets turned corrupt and forced hostile by [[Slappi]] to obtain a piece of the [[Pentaforce]]. === Shrine of Pressure === The fourth trial shrine that is entirely based on solving a series of puzzles using previously obtained tools and abilities in order to collect another piece of the [[Pentaforce]]. === Shrine of Challenge === The fifth and final trial shrine where players must endure the most difficult challenges relative to the previous shrines, even including a [[Cyber Wardrill|boss fight]], for a piece of the [[Pentaforce]]. === Vestibule === The beginning of the final segment of Slappi's Den of Fun where Revenge's endgame takes place. This section is primarily a (literal) on-the-rails section where players learn of Slappi's origin and his plans through a monologue. === Throne Room === Slappi's lair and the arena for the [[Mecha Slappi|final boss encounter]]. == Kindex == === Corrupted Creatures === - === Tech === - 334fff8cb131afc881312ddda46032e9a3d0fc0c Planets 0 299 409 374 2025-06-16T22:36:30Z Daspidy 595608 wikitext text/x-wiki Revenge of the Savage Planet has 5 explorable planets, each with their own unique environments, wildlife, and challenges. <div class="mp-links columns-2"> * {{MP link|Stellaris Prime|link=Stellaris Prime|image=Stellarisprime.png|size=142px}} * {{MP link|Xephyr|link=Xephyr|image=Xephyr.png|size=142px}} * {{MP link|Zenithian Rift|link=Zenithian Rift|image=Zenithianrift.png|size=142px}} * {{MP link|Quasadron IX|link=Quasadron IX|image=Quasadronix.png|size=142px}} * {{MP link|Slappi's Den of Fun|link=Slappi's Den of Fun|image=Slappisdenoffun.png|size=142px}} </div> de6cf68e578dc7ecebb4ace213c5b7946abcfa98 Wormzilla 0 315 411 2025-06-16T23:12:46Z Daspidy 595608 Created page with "Wormzilla is the first major boss fought in Revenge. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. === First Showdown === As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzil..." wikitext text/x-wiki Wormzilla is the first major boss fought in Revenge. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. === First Showdown === As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzilla will burrow its way towards the crate and emerge from the dunes, revealing itself for the first time, ready to defend its loot. During this first showdown, Wormzilla will hurl acid spit and occasionally spit out projectiles at players. It will also occasionally burrow, preventing it from being damaged as it attempts to ambush players. Players must parry Wormzilla's projectiles back at it using the [[Reflect-O-Matic Hand Gel]] in order to deal damage. After enough successful deflections, Wormzilla will eventually retreat, taking the crate with it once more. === Second Showdown === Tracking the crate down for a final time, players are brought to a large underground chamber where Wormzilla resides for a final showdown. ==== Phase 1 ==== This phase plays out similarly to the first showdown against Wormzilla, using the same attacks and burrowing as before, however, parrying its projectiles back into it will no longer work. Instead, players must attempt to electrocute it by spraying Ferro Goo connected to electric mushrooms in order to deal damage. When it's been damaged enough, players will finally be able to grab the [[Gritworks Magnetic Fork|Mag-Fork]], which will initiate Wormzilla's next phase. ==== Phase 2 ==== After successfully grabbing the Mag-Fork, Wormzilla emerges once again from underneath the surface, swallowing the player, beginning the second phase. Players must traverse the insides of Wormzilla, using the Mag-Fork to pull Metallic Chunks found inside and hurling them at weak points to deal damage and escape. After doing enough damage and beating the second phase, players will be thrown up and returned to the arena. ==== Phase 3 ==== In the final phase of the Wormzilla fight, it will now be immune to both successful parries and electricity, forcing players to now use the Mag-Fork to grab the Metallic Chunks found throughout the arena and strike Wormzilla using them. It will be impossible to strike Wormzilla when it is doing its burrow move. When this final phase is completed, Wormzilla will have finally been slain, allowing players to continue on their journey for revenge. === Tips === * The Power Dodge ability is very useful in dodging the acid spit attack, as it cannot be parried. * Practicing the Parry on lesser enemies' projectiles, such as from the [[Bonefly]] or [[Vaperon]], could help players get a hold on the parry timing before facing Wormzilla. c03e84dcbf8947528b40ecb9be1c15755825e940 412 411 2025-06-16T23:14:01Z Daspidy 595608 wikitext text/x-wiki Wormzilla is the first major boss fought in Revenge. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. == First Showdown == === Introduction === As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzilla will burrow its way towards the crate and emerge from the dunes, revealing itself for the first time, ready to defend its loot. During this first showdown, Wormzilla will hurl acid spit and occasionally spit out projectiles at players. It will also occasionally burrow, preventing it from being damaged as it attempts to ambush players. Players must parry Wormzilla's projectiles back at it using the [[Reflect-O-Matic Hand Gel]] in order to deal damage. After enough successful deflections, Wormzilla will eventually retreat, taking the crate with it once more. == Second Showdown == Tracking the crate down for a final time, players are brought to a large underground chamber where Wormzilla resides for a final showdown. === Phase 1 === This phase plays out similarly to the first showdown against Wormzilla, using the same attacks and burrowing as before, however, parrying its projectiles back into it will no longer work. Instead, players must attempt to electrocute it by spraying Ferro Goo connected to electric mushrooms in order to deal damage. When it's been damaged enough, players will finally be able to grab the [[Gritworks Magnetic Fork|Mag-Fork]], which will initiate Wormzilla's next phase. === Phase 2 === After successfully grabbing the Mag-Fork, Wormzilla emerges once again from underneath the surface, swallowing the player, beginning the second phase. Players must traverse the insides of Wormzilla, using the Mag-Fork to pull Metallic Chunks found inside and hurling them at weak points to deal damage and escape. After doing enough damage and beating the second phase, players will be thrown up and returned to the arena. === Phase 3 === In the final phase of the Wormzilla fight, it will now be immune to both successful parries and electricity, forcing players to now use the Mag-Fork to grab the Metallic Chunks found throughout the arena and strike Wormzilla using them. It will be impossible to strike Wormzilla when it is doing its burrow move. When this final phase is completed, Wormzilla will have finally been slain, allowing players to continue on their journey for revenge. == Tips == * The Power Dodge ability is very useful in dodging the acid spit attack, as it cannot be parried. * Practicing the Parry on lesser enemies' projectiles, such as from the [[Bonefly]] or [[Vaperon]], could help players get a hold on the parry timing before facing Wormzilla. 8fc79d4f939bcd0c2cb7ef228aa2e635c8187b24 413 412 2025-06-16T23:25:25Z Daspidy 595608 wikitext text/x-wiki Wormzilla is the first major boss fought in Revenge. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. == First Showdown == === Introduction === As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzilla will burrow its way towards the crate and emerge from the dunes, revealing itself for the first time, ready to defend its loot. During this first showdown, Wormzilla will hurl acid spit and occasionally spit out projectiles at players. It will also occasionally burrow, preventing it from being damaged as it attempts to ambush players. Players must parry Wormzilla's projectiles back at it using the [[Reflect-O-Matic Hand Gel]] in order to deal damage. After enough successful deflections, Wormzilla will eventually retreat, taking the crate with it once more. == Second Showdown == After tracking the crate down for a third and final time, players will be brought to a large underground chamber where Wormzilla resides, waiting for a final showdown. === Phase 1 === This phase plays out similarly to the first showdown against Wormzilla, using the same attacks and burrowing as before, however, parrying its projectiles back into it will no longer work. Instead, players must attempt to electrocute it by spraying Ferro Goo connected to electric mushrooms in order to deal damage. When it's been damaged enough, players will finally be able to grab the [[Gritworks Magnetic Fork|Mag-Fork]], which will initiate Wormzilla's next phase. === Phase 2 === After successfully grabbing the Mag-Fork, Wormzilla emerges once again from underneath the surface, swallowing the player, beginning the second phase. Players must traverse the insides of Wormzilla, using the Mag-Fork to pull Metallic Chunks found inside and hurling them at weak points to deal damage and escape. After doing enough damage and beating the second phase, players will be thrown up and returned to the arena. === Phase 3 === In the final phase of the Wormzilla fight, it will now be immune to both successful parries and electricity, forcing players to now use the Mag-Fork to grab the Metallic Chunks found throughout the arena and strike Wormzilla using them. It will be impossible to strike Wormzilla when it is doing its burrow move. When this final phase is completed, Wormzilla will have finally been slain, allowing players to continue on their journey for revenge. == Tips == * The Power Dodge ability is very useful in dodging the acid spit attack, as it cannot be parried. * Practicing the Parry on lesser enemies' projectiles, such as from the [[Bonefly]] or [[Vaperon]], could help players get a hold on the parry timing before facing Wormzilla. 1697d00962278fdef4cd9e303751acda5a1996f4 414 413 2025-06-16T23:26:03Z Daspidy 595608 wikitext text/x-wiki Wormzilla is the first major boss fought in Revenge. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. == First Showdown == As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzilla will burrow its way towards the crate and emerge from the dunes, revealing itself for the first time, ready to defend its treasure. === Introduction === During this first showdown, Wormzilla will hurl acid spit and occasionally spit out projectiles at players. It will also occasionally burrow, preventing it from being damaged as it attempts to ambush players. Players must parry Wormzilla's projectiles back at it using the [[Reflect-O-Matic Hand Gel]] in order to deal damage. After enough successful deflections, Wormzilla will eventually retreat, taking the crate with it once more. == Second Showdown == After tracking the crate down for a third and final time, players will be brought to a large underground chamber where Wormzilla resides, waiting for a final showdown. === Phase 1 === This phase plays out similarly to the first showdown against Wormzilla, using the same attacks and burrowing as before, however, parrying its projectiles back into it will no longer work. Instead, players must attempt to electrocute it by spraying Ferro Goo connected to electric mushrooms in order to deal damage. When it's been damaged enough, players will finally be able to grab the [[Gritworks Magnetic Fork|Mag-Fork]], which will initiate Wormzilla's next phase. === Phase 2 === After successfully grabbing the Mag-Fork, Wormzilla emerges once again from underneath the surface, swallowing the player, beginning the second phase. Players must traverse the insides of Wormzilla, using the Mag-Fork to pull Metallic Chunks found inside and hurling them at weak points to deal damage and escape. After doing enough damage and beating the second phase, players will be thrown up and returned to the arena. === Phase 3 === In the final phase of the Wormzilla fight, it will now be immune to both successful parries and electricity, forcing players to now use the Mag-Fork to grab the Metallic Chunks found throughout the arena and strike Wormzilla using them. It will be impossible to strike Wormzilla when it is doing its burrow move. When this final phase is completed, Wormzilla will have finally been slain, allowing players to continue on their journey for revenge. == Tips == * The Power Dodge ability is very useful in dodging the acid spit attack, as it cannot be parried. * Practicing the Parry on lesser enemies' projectiles, such as from the [[Bonefly]] or [[Vaperon]], could help players get a hold on the parry timing before facing Wormzilla. a17036fa552bc7c9f643df0b02eeaea9fc059300 416 414 2025-06-16T23:34:57Z Daspidy 595608 wikitext text/x-wiki {{Fauna Infobox |title=Wormzilla |image=Wormzilla.png |Planets=Xephyr |Found In=-,- |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=Medium |Weakness=(Intro) Projectile Parry (Phase 1) Electricity (Phase 2+3) Metallic Chunks }} Wormzilla is the first major boss fought in Revenge. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. == First Showdown == As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzilla will burrow its way towards the crate and emerge from the dunes, revealing itself for the first time, ready to defend its treasure. === Introduction === During this first showdown, Wormzilla will hurl acid spit and occasionally spit out projectiles at players. It will also occasionally burrow, preventing it from being damaged as it attempts to ambush players. Players must parry Wormzilla's projectiles back at it using the [[Reflect-O-Matic Hand Gel]] in order to deal damage. After enough successful deflections, Wormzilla will eventually retreat, taking the crate with it once more. == Second Showdown == After tracking the crate down for a third and final time, players will be brought to a large underground chamber where Wormzilla resides, waiting for a final showdown. === Phase 1 === This phase plays out similarly to the first showdown against Wormzilla, using the same attacks and burrowing as before, however, parrying its projectiles back into it will no longer work. Instead, players must attempt to electrocute it by spraying Ferro Goo connected to electric mushrooms in order to deal damage. When it's been damaged enough, players will finally be able to grab the [[Gritworks Magnetic Fork|Mag-Fork]], which will initiate Wormzilla's next phase. === Phase 2 === After successfully grabbing the Mag-Fork, Wormzilla emerges once again from underneath the surface, swallowing the player, beginning the second phase. Players must traverse the insides of Wormzilla, using the Mag-Fork to pull Metallic Chunks found inside and hurling them at weak points to deal damage and escape. After doing enough damage and beating the second phase, players will be thrown up and returned to the arena. === Phase 3 === In the final phase of the Wormzilla fight, it will now be immune to both successful parries and electricity, forcing players to now use the Mag-Fork to grab the Metallic Chunks found throughout the arena and strike Wormzilla using them. It will be impossible to strike Wormzilla when it is doing its burrow move. When this final phase is completed, Wormzilla will have finally been slain, allowing players to continue on their journey for revenge. == Tips == * The Power Dodge ability is very useful in dodging the acid spit attack, as it cannot be parried. * Practicing the Parry on lesser enemies' projectiles, such as from the [[Bonefly]] or [[Vaperon]], could help players get a hold on the parry timing before facing Wormzilla. 518088486981a527162adaa1a932f915f2e285c9 417 416 2025-06-16T23:36:25Z Daspidy 595608 wikitext text/x-wiki {{Fauna Infobox |title=Wormzilla |image=Wormzilla.png |Planets=Xephyr |Found In=-,- |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=Medium |Weakness=(Intro) Projectile Parry (Phase 1) Electricity (Phase 2+3) Metallic Chunks }} Wormzilla is the first major boss fought in Revenge of the Savage Planet. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. == First Showdown == As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzilla will burrow its way towards the crate and emerge from the dunes, revealing itself for the first time, ready to defend its treasure. === Introduction === During this first showdown, Wormzilla will hurl acid spit and occasionally spit out projectiles at players. It will also occasionally burrow, preventing it from being damaged as it attempts to ambush players. Players must parry Wormzilla's projectiles back at it using the [[Reflect-O-Matic Hand Gel]] in order to deal damage. After enough successful deflections, Wormzilla will eventually retreat, taking the crate with it once more. == Second Showdown == After tracking the crate down for a third and final time, players will be brought to a large underground chamber where Wormzilla resides, waiting for a final showdown. === Phase 1 === This phase plays out similarly to the first showdown against Wormzilla, using the same attacks and burrowing as before, however, parrying its projectiles back into it will no longer work. Instead, players must attempt to electrocute it by spraying Ferro Goo connected to electric mushrooms in order to deal damage. When it's been damaged enough, players will finally be able to grab the [[Gritworks Magnetic Fork|Mag-Fork]], which will initiate Wormzilla's next phase. === Phase 2 === After successfully grabbing the Mag-Fork, Wormzilla emerges once again from underneath the surface, swallowing the player, beginning the second phase. Players must traverse the insides of Wormzilla, using the Mag-Fork to pull Metallic Chunks found inside and hurling them at weak points to deal damage and escape. After doing enough damage and beating the second phase, players will be thrown up and returned to the arena. === Phase 3 === In the final phase of the Wormzilla fight, it will now be immune to both successful parries and electricity, forcing players to now use the Mag-Fork to grab the Metallic Chunks found throughout the arena and strike Wormzilla using them. It will be impossible to strike Wormzilla when it is doing its burrow move. When this final phase is completed, Wormzilla will have finally been slain, allowing players to continue on their journey for revenge. == Tips == * The Power Dodge ability is very useful in dodging the acid spit attack, as it cannot be parried. * Practicing the Parry on lesser enemies' projectiles, such as from the [[Bonefly]] or [[Vaperon]], could help players get a hold on the parry timing before facing Wormzilla. f2a953a5df1ba08423ce016d793a93c4df44ff18 418 417 2025-06-16T23:46:03Z Daspidy 595608 wikitext text/x-wiki {{Fauna Infobox |title=Wormzilla |image=Wormzilla.png |Planets=Xephyr |Found In=(First Showdown) Larval Roost (Second Showdown) Caves of Miranyth |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=Medium |Weakness=(Intro) Projectile Parry (Phase 1) Electricity (Phase 2+3) Metallic Chunks }} Wormzilla is the first major boss fought in Revenge of the Savage Planet. It lives burrowing through and underneath the sandy surface of [[Xephyr]], carrying the supply crate containing the [[Gritworks Magnetic Fork]] around with it, forcing explorers to track it down and slay the beast in an attempt to retrieve it. == First Showdown == As soon as the player successfully reaches and attempts to obtain the crate containing the [[Gritworks Magnetic Fork|Mag-Fork]] for a second time, Wormzilla will burrow its way towards the crate and emerge from the dunes, revealing itself for the first time, ready to defend its treasure. === Introduction === During this first showdown, Wormzilla will hurl acid spit and occasionally spit out projectiles at players. It will also occasionally burrow, preventing it from being damaged as it attempts to ambush players. Players must parry Wormzilla's projectiles back at it using the [[Reflect-O-Matic Hand Gel]] in order to deal damage. After enough successful deflections, Wormzilla will eventually retreat, taking the crate with it once more. == Second Showdown == After tracking the crate down for a third and final time, players will be brought to a large underground chamber where Wormzilla resides, waiting for a final showdown. === Phase 1 === This phase plays out similarly to the first showdown against Wormzilla, using the same attacks and burrowing as before, however, parrying its projectiles back into it will no longer work. Instead, players must attempt to electrocute it by spraying Ferro Goo connected to electric mushrooms in order to deal damage. When it's been damaged enough, players will finally be able to grab the [[Gritworks Magnetic Fork|Mag-Fork]], which will initiate Wormzilla's next phase. === Phase 2 === After successfully grabbing the Mag-Fork, Wormzilla emerges once again from underneath the surface, swallowing the player, beginning the second phase. Players must traverse the insides of Wormzilla, using the Mag-Fork to pull Metallic Chunks found inside and hurling them at weak points to deal damage and escape. After doing enough damage and beating the second phase, players will be thrown up and returned to the arena. === Phase 3 === In the final phase of the Wormzilla fight, it will now be immune to both successful parries and electricity, forcing players to now use the Mag-Fork to grab the Metallic Chunks found throughout the arena and strike Wormzilla using them. It will be impossible to strike Wormzilla when it is doing its burrow move. When this final phase is completed, Wormzilla will have finally been slain, allowing players to continue on their journey for revenge. == Tips == * The Power Dodge ability is very useful in dodging the acid spit attack, as it cannot be parried. * Practicing the Parry on lesser enemies' projectiles, such as from the [[Bonefly]] or [[Vaperon]], could help players get a hold on the parry timing before facing Wormzilla. 38a564c44bf35672dc0b9ad93ed5d817ba2d7f06 Template:Fauna Infobox 10 316 415 2025-06-16T23:31:29Z Daspidy 595608 Created page with "{{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Location, Information, Combat |Location=Planets,Found In |Information=Threat Level,Behavior |Combat=Health,Damage,Weakness }}" wikitext text/x-wiki {{#invoke:Infobox|main |kind=example-1 |sep=, |image={{#if:{{{image|}}}|[[File:{{{image}}}{{!}}300px]]}} |sections=Location, Information, Combat |Location=Planets,Found In |Information=Threat Level,Behavior |Combat=Health,Damage,Weakness }} a2b2e752443254f94e9d2a858588e533fc40f654 Clawbarella 0 317 420 2025-06-16T23:57:53Z Daspidy 595608 Created page with "{{Fauna Infobox |title=Clawbarella |image=Clawbarella.png |Planets=Zenithian Rift |Found In=The Depths of Trrn |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=High |Weakness=Smashable Armor Glowing Weakspots }}" wikitext text/x-wiki {{Fauna Infobox |title=Clawbarella |image=Clawbarella.png |Planets=Zenithian Rift |Found In=The Depths of Trrn |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=High |Weakness=Smashable Armor Glowing Weakspots }} e9d97d58ada13971343d7e82e24c70e0c0390c61 421 420 2025-06-17T00:11:49Z Daspidy 595608 Added tips and trivia, need to fill Boss Showdown wikitext text/x-wiki Clawbarella is the second major boss fought in Revenge of the Savage Planet. It's found at the very bottom of the volcanic depths of [[Zenithian Rift]], royally obstructing the Franx Underwater Scooter needed to be able to traverse deep waters. Its attacks can be difficult to dodge and will deal a considerable amount of damage, making the boss encounter very formidable.{{Fauna Infobox |title=Clawbarella |image=Clawbarella.png |Planets=Zenithian Rift |Found In=The Depths of Trrn |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=High |Weakness=Smashable Armor Glowing Weakspots }} == Boss Showdown == - == Tips == * Avoiding being damaged during the fight is very difficult, so collecting a good amount of Orange Goos to increase maximum Health is highly recommended. * Water from the Power Hose can be used to extinguish the flames on Clawbarella's armor that'll damage players when trying to use ground pound. * [[Bombegranate|Bombegranates]] are also able to damage Clawbarella's weakspots when they're exposed, capable of damaging multiple at once. == Trivia == * Clawbarella is very reminiscent of the Cragclaw boss fight from the first game. Not only returning to the former game's style of boss fights relying on damaging weakpoints on a stationary boss but by also being a massive, armored crustacean that thrives in a volcanic environment. 54af49ae43d901c2942d8466e4dd034b08ab8f24 425 421 2025-06-17T01:03:51Z Daspidy 595608 wikitext text/x-wiki Clawbarella is the second major boss fought in Revenge of the Savage Planet. It's found at the very bottom of the volcanic depths of [[Zenithian Rift]], royally obstructing the Franx Underwater Scooter needed to be able to traverse deep waters. Its attacks can be difficult to dodge and will deal a considerable amount of damage, making the boss encounter very formidable.{{Fauna Infobox |title=Clawbarella |image=Clawbarella.png |Planets=Zenithian Rift |Found In=The Depths of Trrn |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=High |Weakness=Smashable Armor Glowing Weakspots }} == Boss Showdown == - === Phase 1 === - === Phase 2 === - == Tips == * Avoiding being damaged during the fight is very difficult, so collecting a good amount of Orange Goos to increase maximum Health is highly recommended. * Water from the Power Hose can be used to extinguish the flames on Clawbarella's armor that'll damage players when trying to use ground pound. * [[Bombegranate|Bombegranates]] are also able to damage Clawbarella's weakspots when they're exposed, capable of damaging multiple at once. == Trivia == * Clawbarella is very reminiscent of the Cragclaw boss fight from the first game. Not only returning to the former game's style of boss fights relying on damaging weakpoints on a stationary boss but by also being a massive, armored crustacean that thrives in a volcanic environment. e0844e9269f063aed4f33a720de46a686caf422b 445 425 2025-06-17T01:44:31Z Daspidy 595608 wikitext text/x-wiki Clawbarella is the second major boss fought in Revenge of the Savage Planet. It's found at the very bottom of the volcanic depths of [[Zenithian Rift]], royally obstructing the Franx Underwater Scooter needed to be able to traverse deep waters. Its attacks can be difficult to dodge and will deal a considerable amount of damage, making the boss encounter very formidable.{{Fauna Infobox |title=Clawbarella |image=Clawbarella.png |Planets=Zenithian Rift |Found In=The Depths of Trrn |Threat Level=Boss |Behavior=Hostile |Health=Medium |Damage=High |Weakness=Smashable Armor Glowing Weakspots }} == Boss Showdown == - === Phase 1 === - === Phase 2 === - == Tips == * Avoiding being damaged during the fight is very difficult, so collecting a good amount of Orange Goos to increase maximum Health is highly recommended. * Water from the Power Hose can be used to extinguish the flames on Clawbarella's armor that'll damage players when trying to use ground pound. * [[Bombegranate|Bombegranates]] are also able to damage Clawbarella's weakspots when they're exposed, capable of damaging multiple at once. == Trivia == * Clawbarella is very reminiscent of the Cragclaw boss fight from the first game, not only by returning to the former game's style of boss fights relying on damaging weakpoints on a stationary boss, but by also being a massive, armored crustacean that thrives in a volcanic environment. d2433a387cb89820cc6d4bf97bf5c62033e590a4 Mecha Slappi 0 318 422 2025-06-17T00:14:30Z Daspidy 595608 Created page with "{{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }}" wikitext text/x-wiki {{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }} 1340fb8de2f24dd183372021f13172f4ee008d10 423 422 2025-06-17T00:42:15Z Daspidy 595608 Description, Tips and Trivia added. Boss Showdown info needed wikitext text/x-wiki Mecha Slappi is the final boss in Revenge of the Savage Planet. After completing all the Shrine trials and assembling the [[Pentaforce]], Slappi's lair is finally opened up as the final region in [[Slappi's Den of Fun]]. Piloted by [[Slappi]], this behemoth armored mech serves as the game's final challenge. Mecha Slappi is the game's most formidable boss, boasting tank level health and powerful explosive attacks. It's recommended to have obtained a great deal of upgrades to weapons, tools, abilities and health before engaging.{{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }} == Boss Showdown == - == Tips == * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] will be necessary during the shield phase of the fight, so inventory capacity upgrades are recommended to reduce the need to refill at vending machines. * Both Health Vending Machines and Inventory Vending Machines will refill overtime and should be used as necessary. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] can damage Mecha Slappi's weakspots and are highly worth considering using outside of the shield phase. * Having a good grasp on the player movement can be crucial to successfully evading the constant barrage of attacks throughout the fight. The [[Power Dodge]] is a given useful skill, however the [[Proton Tether X11 Launcher]] is also incredibly useful in moving around the arena quickly. * Minions will spawn throughout the boss fight, which can wind up overwhelming players. [[Ferro Goo]] and the [[Proton Whip X11|Whip]] can be used to slow them down effectively, using [[Green Slime Goo]] in combination with the [[Lava Goo|Lava Tank]] and/or the [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] charge shots are great ways to work on dispatching of multiple enemies at once. [[Bombegranate|Bombegranates]], [[Blight Bomb|Blight Bombs]] and the [[Ground Pound]] are also highly effective options if upgraded, just be sure to exercise caution as to not damage yourself or your co-op partner. == Trivia == * Despite being Revenge's final boss, Mecha Slappi and the entire Pentaforce questline is not required to beat the game, nor does choosing to defeat or abandon Mecha Slappi seem to affect the ending at all and thus could be considered more of a completionist objective, although fully partaking in the questline does expand upon the core story and is generally recommended for a playthrough. 80b9e61bc67fccdfbcec8087fe1f2e7c58e1a0db 424 423 2025-06-17T01:03:15Z Daspidy 595608 Added many details wikitext text/x-wiki Mecha Slappi is the final boss of Revenge of the Savage Planet. After completing all of the Shrine trials and assembling the [[Pentaforce]], Slappi's lair is finally opened up as the final region of [[Slappi's Den of Fun]]. Piloted by [[Slappi]], this behemoth armored mech serves as the game's final challenge. Mecha Slappi is the game's most formidable boss, boasting tank level health and powerful explosive attacks. It's recommended to have obtained a great deal of upgrades to weapons, tools, abilities and maximum health before engaging.{{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }} == Boss Showdown == - === Phase 1 === - === Phase 2 === After losing a quarter of his health, the second phase will begin, and Mecha Slappi will begin defending his weakspots using Elemental Shields that must be countered by using the correlating item ([[Bombegranate]] for Red, [[Blight Bomb]] for Green, [[Magnetic Chunk]] for Blue). The floor will begin to open up, revealing a '''pool of lava''' that players may accidentally fall or get knocked into during the chaos. === Phase 3 === When this final phase begins, Mecha Slappi will abandon the shield plan, then fully regenerate his health before going all out on his final attacks. The floor will open up even more, making it easier to fall into the lava if not paying attention. Caution should be exercised as this is Mecha Slappi's most hectic and dangerous phase, and all tools and tricks should be utilized to their best of their ability to bring the fight to an end. After the third phase is successfully defeated, Mecha Slappi will have been taken down and [[Slappi's Den of Fun|Slappi]] will be ejected, where the player can finally go and press his reset button, finally putting an end to Slappi's game and allowing the credits to roll (although this isn't the game's true ending). == Tips == * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] will be necessary during the shield phase of the fight, so inventory capacity upgrades are recommended to reduce the need to refill at vending machines. * Both Health Vending Machines and Inventory Vending Machines will refill overtime and should be used as necessary. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] can damage Mecha Slappi's weakspots and are highly worth considering using outside of the shield phase. * Having a good grasp on the player movement can be crucial to successfully evading the constant barrage of attacks throughout the fight. The [[Power Dodge]] is a given useful skill, however the [[Proton Tether X11 Launcher]] is also incredibly useful in moving around the arena quickly. * Minions will spawn throughout the boss fight, which can wind up overwhelming players. [[Ferro Goo]] and the [[Proton Whip X11|Whip]] can be used to slow them down effectively, using [[Green Slime Goo]] in combination with the [[Lava Goo|Lava Tank]] and/or the [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] charge shots are great ways to work on dispatching of multiple enemies at once. [[Bombegranate|Bombegranates]], [[Blight Bomb|Blight Bombs]] and the [[Ground Pound]] are also highly effective options if upgraded, just be sure to exercise caution as to not damage yourself (or your co-op partner, if present). == Trivia == * Despite being Revenge's final boss, Mecha Slappi and the entire Pentaforce questline is not required to beat the game, nor does choosing to defeat or abandon Mecha Slappi seem to affect the ending at all and thus could be considered more of a completionist objective, although fully partaking in the questline does expand upon the core story and is generally recommended for a playthrough. bb0b4569d0d50441f371a2928b7b55b48b457426 431 424 2025-06-17T01:25:23Z Daspidy 595608 wikitext text/x-wiki Mecha Slappi is the final boss of Revenge of the Savage Planet. After completing all of the Shrine trials and assembling the [[Pentaforce]], Slappi's lair is finally opened up as the final region of [[Slappi's Den of Fun]]. Piloted by [[Slappi]], this behemoth armored mech serves as the game's final challenge. Mecha Slappi is the game's most formidable boss, boasting tank level health and powerful explosive attacks. It's recommended to have obtained a great deal of upgrades to weapons, tools, abilities and maximum health before engaging. {{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }} == Boss Showdown == - === Phase 1 === - === Phase 2 === After losing a quarter of his health, the second phase will begin, and Mecha Slappi will begin defending his weakspots using Elemental Shields that must be countered by using the correlating item ([[Bombegranate]] for Red, [[Blight Bomb]] for Green, [[Magnetic Chunk]] for Blue). The floor will begin to open up, revealing a '''pool of lava''' that players may accidentally fall or get knocked into during the chaos. === Phase 3 === When this final phase begins, Mecha Slappi will abandon the shield plan, then fully regenerate his health before going all out on his final attacks. The floor will open up even more, making it easier to fall into the lava if not paying attention. Caution should be exercised as this is Mecha Slappi's most hectic and dangerous phase, and all tools and tricks should be utilized to their best of their ability to bring the fight to an end. After the third phase is successfully defeated, Mecha Slappi will have been taken down and [[Slappi's Den of Fun|Slappi]] will be ejected, where the player can finally go and press his reset button, finally putting an end to Slappi's game and allowing the credits to roll (although this isn't the game's true ending). == Tips == * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] will be necessary during the shield phase of the fight, so inventory capacity upgrades are recommended to reduce the need to refill at vending machines. * Both Health Vending Machines and Inventory Vending Machines will refill overtime and should be used as necessary. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] can damage Mecha Slappi's weakspots and are highly worth considering using outside of the shield phase. * Having a good grasp on the player movement can be crucial to successfully evading the constant barrage of attacks throughout the fight. The [[Power Dodge]] is a given useful skill, however the [[Proton Tether X11 Launcher]] is also incredibly useful in moving around the arena quickly. * Minions will spawn throughout the boss fight, which can wind up overwhelming players. [[Ferro Goo]] and the [[Proton Whip X11|Whip]] can be used to slow them down effectively, using [[Green Slime Goo]] in combination with the [[Lava Goo|Lava Tank]] and/or the [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] charge shots are great ways to work on dispatching of multiple enemies at once. [[Bombegranate|Bombegranates]], [[Blight Bomb|Blight Bombs]] and the [[Ground Pound]] are also highly effective options if upgraded, just be sure to exercise caution as to not damage yourself (or your co-op partner, if present). == Trivia == * Despite being Revenge's final boss, Mecha Slappi and the entire Pentaforce questline is not required to beat the game, nor does choosing to defeat or abandon Mecha Slappi seem to affect the ending at all and thus could be considered more of a completionist objective, although fully partaking in the questline does expand upon the core story and is generally recommended for a playthrough. eb00b3f214c1f6f7856d9666020682c11eabeb41 Revenge of the Savage Planet Wiki/welcome 0 4 426 7 2025-06-17T01:09:41Z Daspidy 595608 wikitext text/x-wiki {{Main page box/start | title = Welcome to the {{SITENAME}}! }} We are currently maintaining [[Special:AllPages|{{NUMBEROFARTICLES}} articles]]. Please feel free to contribute by creating new articles or expanding existing ones. === This Wiki is still very much a work in progress, and is missing many pages and details! Any help is hugely appreciated! === {{Main page box/end}}<noinclude>[[Category:Main page boxes]]</noinclude><!-- don't edit this line --> d703c5f60d4579eba46100cea89f23d4793118af Cyber Wardrill 0 319 432 2025-06-17T01:26:21Z Daspidy 595608 Created page with "{{Fauna Infobox |title=Cyber Wardrill |image=CyberWardrill.png |Planets=Slappi's Den of Fun |Found In=Shrine of Challenge |Threat Level=Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Elemental Shields }}" wikitext text/x-wiki {{Fauna Infobox |title=Cyber Wardrill |image=CyberWardrill.png |Planets=Slappi's Den of Fun |Found In=Shrine of Challenge |Threat Level=Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Elemental Shields }} b4e0ead0bce36be4ce779e55405691c1562d9ed8 Bosses 0 308 446 386 2025-06-17T01:46:28Z Daspidy 595608 wikitext text/x-wiki === Warning: This section and the following pages will contain major spoilers. === There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own unique challenge. <div class="mp-links columns-1"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=144px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=144px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=CyberWardrill.png|size=144px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=144px}} </div> ca80c3fc9b978368c163b07997e6d685aabf703f 447 446 2025-06-17T01:49:04Z Daspidy 595608 enhanced spoiler warning wikitext text/x-wiki === <big>Warning: This section and the following pages WILL contain major spoilers. Proceed with caution!</big> === There are a total of 4 bosses throughout Revenge of the Savage Planet, each offering their own unique challenge. <div class="mp-links columns-1"> * {{MP link|Wormzilla|link=Wormzilla|image=Wormzilla.png|size=144px}} * {{MP link|Clawbarella|link=Clawbarella|image=Clawbarella.png|size=144px}} * {{MP link|Cyber Wardrill|link=Cyber Wardrill|image=CyberWardrill.png|size=144px}} * {{MP link|Mecha Slappi|link=Mecha Slappi|image=Mechaslappi.png|size=144px}} </div> 09ad2497a238b39b31f454b1300498d7a6464459 Quasadron IX 0 282 451 449 2025-06-17T02:01:13Z Daspidy 595608 wikitext text/x-wiki Quasadron IX is the fourth planet explored within [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]].{{Planet Infobox |title=Quasadron IX |image=Quasadronix.png |Biomes=Plains, Forest |Difficulty=High }} == Description == Set in a large savannah filled with craggy valleys, dangerous plains and vibrant forests, Quasadron IX offers the most challenging open-world planet in the game. Many secrets are scattered about, and players will find themselves using the most of their abilities, tools and upgrades to try to seek them out and unlock them whilst fighting to survive against the new, tough and chaotic fauna the planet has to offer. The fauna here are able to deal the most damage out of most other hostiles present throughout the game and situations can become hectic very quickly, so making sure you're upgrading your movement and weapons whilst leveling up your health and stamina may be crucial to being able to freely explore the planet without too much trouble. == Regions == === Crash Site === - === Savannah Lake === - === Southern Rocks === - === Florian's Fuchsia Festivus === - === Babutt's Kingdom === - === Summit === - === Alta's Trash Mountain === - == Kindex == === Fauna === - === Flora === - === Hazards and Obstacles === - c78971a72cd8ad081f247fc4e4c8b60e1ffb54b4 Cyber Wardrill 0 319 452 432 2025-06-17T05:55:52Z Daspidy 595608 wikitext text/x-wiki Cyber Wardrill is the third boss fought in Revenge of the Savage Planet. Found in the Shrine of Challenge on [[Slappi's Den of Fun]], Cyber Wardrill is a variant of a [[Wardrill]], however this one was captured and corrupted by Slappi and turned into an agile and resilient tank accompanied by a laser drone tasked with battling explorers so they can earn their way towards obtaining the final piece of the [[Pentaforce]].{{Fauna Infobox |title=Cyber Wardrill |image=CyberWardrill.png |Planets=Slappi's Den of Fun |Found In=Shrine of Challenge |Threat Level=Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Elemental Shields }} == Boss Showdown == - == Tips == * It's best to try to remain a safe distance away from the Cyber Wardrill while fighting due to how dangerous its attacks can be. [[Power Dodge]] and even the [[Proton Tether X11 Launcher]] are great abilities to utilize to accomplish this. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] aren't just useful for taking out the shields, but can also deal major damage to the Cyber Wardrill. Just be 1162e7b3c33c96530a3fed9d34c896cba420a85f 459 452 2025-06-17T17:13:08Z Daspidy 595608 wikitext text/x-wiki Cyber Wardrill is the third boss fought in Revenge of the Savage Planet. Found in the Shrine of Challenge on [[Slappi's Den of Fun]], Cyber Wardrill is a variant of a [[Wardrill]], however this one was captured and corrupted by Slappi and turned into an agile and resilient tank accompanied by a laser drone tasked with battling explorers so they can earn their way towards obtaining the final piece of the [[Pentaforce]].{{Fauna Infobox |title=Cyber Wardrill |image=CyberWardrill.png |Planets=Slappi's Den of Fun |Found In=Shrine of Challenge |Threat Level=Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Elemental Shields }} == Boss Showdown == - == Tips == * It's best to try to remain a safe distance away from the Cyber Wardrill while fighting due to how dangerous its attacks can be. [[Power Dodge]] and even the [[Proton Tether X11 Launcher]] are great abilities to utilize to accomplish this. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] aren't just useful for taking out the shields but can also deal major damage to the Cyber Wardrill. Just be cautious to not hurt yourself or your co-op partner, if present. * Health Vending Machines and Inventory Vending Machines around the arena will refill overtime and should be used as necessary. 1781d0ea0bc1229d0a0dc18be09454992e2b18c3 460 459 2025-06-17T17:32:00Z Daspidy 595608 wikitext text/x-wiki Cyber Wardrill is the third boss fought in Revenge of the Savage Planet. Found in the Shrine of Challenge on [[Slappi's Den of Fun]], Cyber Wardrill is a variant of a [[Wardrill]], however this one was captured and corrupted by Slappi and turned into an agile and resilient tank accompanied by a laser drone tasked with battling explorers so they can earn the final piece of the [[Pentaforce]].{{Fauna Infobox |title=Cyber Wardrill |image=CyberWardrill.png |Planets=Slappi's Den of Fun |Found In=Shrine of Challenge |Threat Level=Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Elemental Shields }} == Boss Showdown == - == Tips == * It's best to try to remain a safe distance away from the Cyber Wardrill while fighting due to how dangerous its attacks can be. [[Power Dodge]] and even the [[Proton Tether X11 Launcher]] are great abilities to utilize to accomplish this. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] aren't just useful for taking out the shields but can also deal major damage to the Cyber Wardrill. Just be cautious to not hurt yourself or your co-op partner, if present. * Health Vending Machines and Inventory Vending Machines around the arena will refill overtime and should be used as necessary. 9b5e91abc570c323fede009d0a842dcdc85e8386 Mecha Slappi 0 318 453 431 2025-06-17T06:01:07Z Daspidy 595608 wikitext text/x-wiki Mecha Slappi is the final boss of Revenge of the Savage Planet. After completing all of the Shrine trials and assembling the [[Pentaforce]], Slappi's lair is finally opened up as the final region of [[Slappi's Den of Fun]]. Piloted by [[Slappi]], this behemoth armored mech serves as the game's final challenge. Mecha Slappi is the game's most formidable boss, boasting tank level health and powerful explosive attacks. It's recommended to have obtained a great deal of upgrades to weapons, tools, abilities and maximum health before engaging. {{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }} == Boss Showdown == Mecha Slappi is a real challenge of how much players have learned combat. True skill and/or a lot of upgrades should be heavily considered before beginning the fight. === Phase 1 === When the fight begins, Mecha Slappi will begin firing lasers at players and occasionally unleash a barrage of missiles with an impact zone marked on the ground. Players must do their best to evade these attacks whilst aiming for and firing at Mecha Slappi's '''pink glowing weakspots'''. Each weakspot can take a considerable beating, and attempting to balance evasion and staying on the move with returning consistent fire can be tricky. === Phase 2 === After losing a quarter of his health, the second phase will begin, and Mecha Slappi will begin defending his weakspots using Elemental Shields that must be countered by using the correlating item ([[Bombegranate]] for Red, [[Blight Bomb]] for Green, [[Magnetic Chunk]] for Blue). The floor will begin to open up, revealing a '''pool of lava''' that players may accidentally fall or get knocked into during the chaos. Lastly, in addition to all this, various corrupted creatures will begin spawning in the arena as well. === Phase 3 === When this final phase begins, Mecha Slappi will abandon the shield plan, then fully regenerate his health before going all out on his final attacks. The floor will open up even more, making it easier to fall into the lava if not paying attention. Caution should be exercised as this is Mecha Slappi's most hectic and dangerous phase, and all tools and tricks should be utilized to their best of their ability to bring the fight to an end. After the third phase is successfully defeated, Mecha Slappi will have been taken down and [[Slappi's Den of Fun|Slappi]] will be ejected, where the player can finally go and press his reset button, finally putting an end to Slappi's game and allowing the credits to roll (although this isn't the game's true ending). == Tips == * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] will be necessary during the shield phase of the fight, so inventory capacity upgrades are recommended to reduce the need to refill at vending machines. * Both Health Vending Machines and Inventory Vending Machines throughout the arena will refill overtime and should be used as necessary. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] can damage Mecha Slappi's weakspots and are highly worth considering using outside of the shield phase. * Having a good grasp on the player movement can be crucial to successfully evading the constant barrage of attacks throughout the fight. The [[Power Dodge]] is a given useful skill, however the [[Proton Tether X11 Launcher]] is also incredibly useful in moving around the arena quickly. * Minions will spawn throughout the boss fight, which can wind up overwhelming players. [[Ferro Goo]] and the [[Proton Whip X11|Whip]] can be used to slow them down effectively, using [[Green Slime Goo]] in combination with the [[Lava Goo|Lava Tank]] and/or the [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] charge shots are great ways to work on dispatching of multiple enemies at once. [[Bombegranate|Bombegranates]], [[Blight Bomb|Blight Bombs]] and the [[Ground Pound]] are also highly effective options if upgraded, just be sure to exercise caution as to not damage yourself (or your co-op partner, if present). == Trivia == * Despite being Revenge's final boss, Mecha Slappi and the entire Pentaforce questline is not required to beat the game, nor does choosing to defeat or abandon Mecha Slappi seem to affect the ending at all and thus could be considered more of a completionist objective, although fully partaking in the questline does expand upon the core story and is generally recommended for a playthrough. 21a08e047d03dcbe1be93e76bf84536692aad75a 454 453 2025-06-17T06:03:59Z Daspidy 595608 wikitext text/x-wiki Mecha Slappi is the final boss of Revenge of the Savage Planet. After completing all of the Shrine trials and assembling the [[Pentaforce]], Slappi's lair is finally opened up as the final region of [[Slappi's Den of Fun]]. Piloted by [[Slappi]], this behemoth armored mech serves as the game's final challenge. Mecha Slappi is the game's most formidable boss, boasting tank level health and powerful explosive attacks. It's recommended to have obtained a great deal of upgrades to weapons, tools, abilities and maximum health before engaging. {{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }} == Boss Showdown == Mecha Slappi is a real challenge of how much players have learned combat. True skill and/or a lot of upgrades should be heavily considered before beginning the fight. === Phase 1 === When the fight begins, Mecha Slappi will begin firing lasers at players and occasionally unleash a barrage of missiles with an impact zone marked on the ground. Players must do their best to evade these attacks whilst aiming for and firing at Mecha Slappi's '''pink glowing weakspots'''. Each weakspot can take a considerable beating, and attempting to balance evasion and staying on the move with returning consistent fire can be tricky. === Phase 2 === After losing a quarter of his health, the second phase will begin, and Mecha Slappi will begin defending his weakspots using Elemental Shields that must be countered by using the correlating item ([[Bombegranate]] for Red, [[Blight Bomb]] for Green, [[Magnetic Chunk]] for Blue). The floor will begin to open up, revealing a '''pool of lava''' that players may accidentally fall or get knocked into during the chaos. Lastly, in addition to all this, various corrupted creatures will begin spawning in the arena as well. === Phase 3 === When this final phase begins, Mecha Slappi will abandon the shield plan, then fully regenerate his health before going all out on his final attacks. The floor will open up even more, making it easier to fall into the lava if not paying attention. Caution should be exercised as this is Mecha Slappi's most hectic and dangerous phase, and all tools and tricks should be utilized to their best of their ability to bring the fight to an end. After the third phase is successfully defeated, Mecha Slappi will have been taken down and [[Slappi's Den of Fun|Slappi]] will be ejected, where the player can finally go and press his reset button, finally putting an end to Slappi's game and allowing the credits to roll (although this isn't the game's true ending). == Tips == * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] will be necessary during the shield phase of the fight, so inventory capacity upgrades are recommended to reduce the need to refill at vending machines. * Both Health Vending Machines and Inventory Vending Machines throughout the arena will refill overtime and should be used as necessary. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] can damage Mecha Slappi's weakspots and are highly worth considering using outside of the shield phase. * Having a good grasp on the player movement can be crucial to successfully evading the constant barrage of attacks throughout the fight. The [[Power Dodge]] is a given useful skill, however the [[Proton Tether X11 Launcher]] is also incredibly useful in moving around the arena quickly. * Minions will spawn throughout the boss fight, which can wind up overwhelming players. [[Ferro Goo]] and the [[Proton Whip X11|Whip]] can be used to slow them down effectively, using [[Green Slime Goo]] in combination with the [[Lava Goo|Lava Tank]] and/or the [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] charge shots are great ways to work on dispatching of multiple enemies at once. [[Bombegranate|Bombegranates]], [[Blight Bomb|Blight Bombs]] and the [[Ground Pound]] are also highly effective options if upgraded, just be sure to exercise caution as to not damage yourself (or your co-op partner, if present). == Trivia == * Despite being Revenge's final boss, Mecha Slappi and the entire Pentaforce questline is not required to beat the game, nor does choosing to defeat Mecha Slappi or ignore the entire questline seem to affect the ending at all and thus could be considered more of a completionist objective, although fully partaking in the questline and final encounter does expand upon the core story and is generally recommended for a playthrough. 777215659c37f7bf6a0ebd137a65176862fbf6e9 455 454 2025-06-17T06:04:54Z Daspidy 595608 wikitext text/x-wiki Mecha Slappi is the final boss of Revenge of the Savage Planet. After completing all of the Shrine trials and assembling the [[Pentaforce]], Slappi's lair is finally opened up as the final region of [[Slappi's Den of Fun]]. Piloted by [[Slappi]], this behemoth armored mech serves as the game's final challenge. Mecha Slappi is the game's most formidable boss, boasting tank level health and powerful explosive attacks. It's recommended to have obtained a great deal of upgrades to weapons, tools, abilities and maximum health before engaging. {{Fauna Infobox |title=Mecha Slappi |image=Mechaslappi.png |Planets=Slappi's Den of Fun |Found In=Throne Room |Threat Level=Final Boss |Behavior=Hostile |Health=Very High |Damage=High |Weakness=Glowing Weakspots Elemental Shields }} == Boss Showdown == Mecha Slappi is a real challenge of how much players have learned combat. True skill and/or a lot of upgrades should be heavily considered before beginning the fight. === Phase 1 === When the fight begins, Mecha Slappi will begin firing lasers at players and occasionally unleash a barrage of missiles with an impact zone marked on the ground. Players must do their best to evade these attacks whilst aiming for and firing at Mecha Slappi's '''pink glowing weakspots'''. Each weakspot can take a considerable beating, and attempting to balance evasion and staying on the move with returning consistent fire can be tricky. === Phase 2 === After losing a quarter of his health, the second phase will begin, and Mecha Slappi will begin defending his weakspots using Elemental Shields that must be countered by using the correlating item ([[Bombegranate]] for Red, [[Blight Bomb]] for Green, [[Magnetic Chunk]] for Blue). The floor will begin to open up, revealing a '''pool of lava''' that players may accidentally fall or get knocked into during the chaos. Lastly, in addition to all this, various corrupted creatures will begin spawning in the arena as well. === Phase 3 === When this final phase begins, Mecha Slappi will abandon the shield plan, then fully regenerate his health before going all out on his final attacks. The floor will open up even more, making it easier to fall into the lava if not paying attention. Caution should be exercised as this is Mecha Slappi's most hectic and dangerous phase, and all tools and tricks should be utilized to their best of their ability to bring the fight to an end. After the third phase is successfully defeated, Mecha Slappi will have been taken down and [[Slappi's Den of Fun|Slappi]] will be ejected, where the player can finally go and press his reset button, finally putting an end to Slappi's game and allowing the credits to roll (although this isn't the game's true ending). == Tips == * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] will be necessary during the shield phase of the fight, so inventory capacity upgrades are recommended to reduce the need to refill at vending machines. * Both Health Vending Machines and Inventory Vending Machines throughout the arena will refill overtime and should be used as necessary. * [[Bombegranate|Bombegranates]] and [[Blight Bomb|Blight Bombs]] can damage Mecha Slappi's weakspots and are highly worth considering using outside of the shield phase. * Having a good grasp on the player movement can be crucial to successfully evading the constant barrage of attacks throughout the fight. The [[Power Dodge]] is a given useful skill, however the [[Proton Tether X11 Launcher]] is also incredibly useful in moving around the arena quickly. * Minions will spawn throughout the boss fight, which can wind up overwhelming players. [[Ferro Goo]] and the [[Proton Whip X11|Whip]] can be used to slow them down effectively, using [[Green Slime Goo]] in combination with the [[Lava Goo|Lava Tank]] and/or the [[Griff & Splunker 'Pacifier' Pistol|Pacifier]] charge shots are great ways to work on dispatching of multiple enemies at once. [[Bombegranate|Bombegranates]], [[Blight Bomb|Blight Bombs]] and the [[Ground Pound]] are also highly effective options if upgraded, just be sure to exercise caution as to not damage yourself (or your co-op partner, if present). == Trivia == * Despite being Revenge's final boss, Mecha Slappi and the entire Pentaforce questline is not required to beat the game, nor does choosing to defeat Mecha Slappi or ignore the entire questline seem to affect the ending at all and thus could be considered more of a completionist objective, although fully partaking in the questline and final encounter does expand upon the core story and is generally recommended for a playthrough. 3abd8ceba9dbb45b6231acc8d47fbd9b5b60ec47 Reflect-O-Matic Hand Gel 0 286 456 317 2025-06-17T06:08:00Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Reflect-O-Matic Hand Gel |image=ReflectomaticGel.png |Upgrade Type=Items |Ability/Tool/Passive=Ability |Mission=- |Upgrade=None |Printer Slurry=- |Carbon=- |Silicon=- |Aluminium=- }} The Reflect-O-Matic Hand Gel is a key upgrade in Revenge of the Savage Planet. When obtained, the player will have access to the ability to parry projectiles and sending them back at intended targets. 4ae39a6ed4ef87f5ad295f2c14c9c172d77349d4 Proton Whip X11 0 285 457 316 2025-06-17T06:09:36Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Proton Whip X11 |image=ProtonWhipX11.png |Upgrade Type=Whip |Ability/Tool/Passive=Tool |Mission=- |Upgrade=None |Printer Slurry=- |Carbon=- |Silicon=- |Aluminium=- }} The Proton Whip X11 is an obtainable simultaneous weapon and tool in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 91bd63a8fb4d2db17dc69e8beac8c60e3c67a5d3 Spritzer Power Hose 0 284 458 315 2025-06-17T06:10:30Z Daspidy 595608 wikitext text/x-wiki {{Upgrade Infobox |title=Spritzer Power Hose |image=SprtizerPowerHose.png |Upgrade Type=Power Hose |Ability/Tool/Passive=Tool |Mission=- |Upgrade=None |Printer Slurry=- |Carbon=- |Silicon=- |Aluminium=- }} The Spritzer Power Hose is an obtainable and vital tool in [[Revenge of the Savage Planet Wiki|Revenge of the Savage Planet]]. 699b9cc19abe2ec4a23567f3c6fbf296428bb485